-
当实例属性和类属性重名时,实例属性优先级高
查看全部 -
类属性就是所有的实例都有一样基本的属性
因为类属性是直接绑定在类上的,所以,访问类属性不需要创建实例,就可以直接访问
查看全部 -
__init__() 方法的第一个参数必须是 self,后面的参数需要在创建实例的时候输入
查看全部 -
类用于定义抽象类型
实例根据类的定义被创建出来
查看全部 -
有理数可以用Rational类表示:
def gcd(a, b): # 求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 + r2 # 3/4 print r1 - r2 # 1/4 print r1 * r2 # 1/8 print r1 / r2 # 2/1
查看全部 -
__len__():如果一个类表现得像一个list,要获取有多少个元素,就得用 len() 函数。
class Students(object): def __init__(self, *args): self.names = args def __len__(self): return len(self.names)
查看全部 -
判断一个数是整数还是小数的方法:
1. target % 1 == 0
2. target - int(target) == 0
查看全部 -
__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.name < s.name: return -1 elif self.name > s.name: return 1 else: return 0
查看全部 -
lambds 匿名函数:只能有一个表达式,不需要写return,返回值就是该表达式的效果
查看全部 -
python 理解不到位,需重新理解
查看全部 -
打印实例可以用 __str__() 和 __repr__() 方法,其中 __str__() 用于显示给用户, __repr__() 用于显示给开发人员。
class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender def __str__(self): return '(Person: %s, %s)' % (self.name, self.gender) # __repr__ = __str__ p = Person('Bob', 'male') print p # (Person: Bob, male) p # <main.Person object at 0x10c941890>
查看全部 -
sorted() 高阶函数,可以自定义比较函数来实现自定义排序, 比如倒叙
def reversed_cmp(x, y): if x > y: return -1 if x < y: return 1 return 0
查看全部 -
判断返回的浮点数x,是否为正数,可用 x%2==1来判断
查看全部 -
特殊方法:
1)定义在class中。
2)不需要直接调用。
3)只需编写用到的特殊方法。
4)有关联性的特殊方法都必须实现。
比如:__getattr__、__setattr__、_delattr__
查看全部 -
reduce()参数:函数f,list。函数f必须为两个参数。reduce对list中每个元素反复调用函数f,返回一个结果值。
查看全部
举报