python 学习。。。
来源:互联网 发布:apache tika使用说明 编辑:程序博客网 时间:2024/06/11 13:31
照着 慕课Python进阶写的,还有好多不会。
import timedef log(prefix): #装饰器 def log_decorator(f): def wrapper(*args,**kw): print(prefix,f.__name__) return f(*args,**kw) return wrapper return log_decoratorclass Person(object): #对__ 私有属性的调用 def __init__(self,score): self.__score = score; def get_grade(self): if self.__score<60: return "c" if self.__score<80: return "b" if self.__score<100: return "a"
类的继承
class Personn(object): def __init__(self,name, gender): self.name = name self.gender = genderclass Teacher(Personn): def __init__(self,name, gender, courge): super(Teacher, self).__init__(name, gender)#用于初始化父类 #当有多继承时,可考虑Personn(Teacher, self).__init__(name, gender) self.courge = courgeimport jsonclass Student(object): def __init(self,s): self.s = s def read(self): return self.s
python中获取对象信息
type(“”)获取变量类型 dir(“”)获取变量所以信息 getattr() setattr()
传入**kw参数,并通过setattr绑定属性
**kw是关键字参数,用于字典
iteritems()用于字典kw的遍历
setattr(self, k, v)就等价于self.k = v
重写str repr内置方法使能返回字符串相当于tostring
class Person(object): def __init__(self, name, gender): self.name = name self.gender = genderclass Student(Person): def __init__(self, name, gender, score): super(Student, self).__init__(name, gender) self.score = score def __str__(self): return "(Student: %s, %s, %s)"%(self.name, self.gender, self.score) __repr__ = __str__
修改 Student 的 cmp 方法,让它按照分数从高到底排序,分数相同的按名字排序。
class Student(object): def __init__(self, name, score): self.name = name self.score = score def __str__(self): return '(%s: %s)' % (self.name, self.score) __repr__ = __str__ def __cmp__(self, s): if self.score>s.score: return -1 elif self.score<s.score: return 1 elif self.name<s.name: return -1 elif self.nae>s.name: return 1 else: return 0
有理数分数的四则运算
def gcd(a, b): if b == 0: return a return gcd(b, a % b)class Rational(object): def __init__(self, p, q): self.p = p self.q = q def __add__(self, r): return Rational(self.p * r.q + self.q * r.p, self.q * r.q) def __sub__(self, r): return Rational(self.p * r.q - self.q * r.p, self.q * r.q) def __mul__(self, r): return Rational(self.p * r.p, self.q * r.q) def __div__(self, r): return Rational(self.p * r.q, self.q * r.p) def __str__(self): g = gcd(self.p, self.q) return '%s/%s' % (self.p / g, self.q / g) __repr__ = __str__r1 = Rational(1, 2)r2 = Rational(1, 4)print r1 + r2print r1 - r2print r1 * r2print r1 / r2
没保存就关机了,幸好还有~~(>_<)~~
0 0
- 【Python学习】Python 关键字
- Python学习----Python基础
- 【python】:python学习笔记
- Python:Python学习总结
- Python学习-Python数据类型
- Python学习
- 学习python
- python学习
- 学习Python
- python学习
- python学习
- python学习
- python 学习
- 学习python
- Python学习
- Python 学习
- python学习
- Python学习
- 《Java编程思想》学习笔记:多态
- 就第九天学习的数组和排序问题做出的总结
- 学习C#中toString()和Convert.toString()的用法区别
- Combinations
- [BZOJ2006][NOI2010]超级钢琴(st表+heap)
- python 学习。。。
- android使用json数据格式同时上传图片和文本
- PAT(BasicLevel):德才论 (25)
- JQuery中Ajax的操作
- PHP list的使用
- nyoj 素数距离问题
- 总结一些分页查询的方法SQL server,MySQL,oracle数据库及hibernate中
- 冒泡排序
- 选择排序