-
函数function 函数式是最贴近于计算(数学) 特点查看全部
-
由于 f 可以被调用,所以,f 被称为可调用对象。 所有的函数都是可调用对象。 一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__()。查看全部
-
__slots__是指一个类允许的属性列表__slots__的目的是限制当前类所能拥有的属性,如果不需要添加任意动态的属性,使用__slots__也能节省内存。查看全部
-
因为Python支持高阶函数,在函数式编程中我们介绍了装饰器函数,可以用装饰器函数把 get/set 方法“装饰”成属性调用: class Student(object): def __init__(self, name, score): self.name = name self.__score = score @property def score(self): return self.__score @score.setter def score(self, score): if score < 0 or score > 100: raise ValueError('invalid score') self.__score = score 注意: 第一个score(self)是get方法,用@property装饰,第二个score(self, score)是set方法,用@score.setter装饰,@score.setter是前一个@property装饰后的副产品。查看全部
-
要表示有理数,可以用一个Rational类来表示:如果要让Rational进行+运算,需要正确实现__add__:查看全部
-
def __init__(self, num): a,b,L = 0,1,[] for n in range(num): L.append(a) a,b = b,a+b self.numbers = L查看全部
-
如果要把一个类的实例变成 str,就需要实现特殊方法__str__():__str__()用于显示给用户,而__repr__()用于显示给开发人员。查看全部
-
for k, v in kw.iteritems(): setattr(self, k, v)查看全部
-
首先可以用 type() 函数获取变量的类型,它返回一个 Type 对象:其次,可以用 dir() 函数获取变量的所有属性:对于实例变量,dir()返回所有实例属性,包括`__class__`这类有特殊意义的属性。dir()返回的属性是字符串列表,如果已知一个属性名称,要获取或者设置对象的属性,就需要用 getattr() 和 setattr( )函数了:查看全部
-
多重继承通过 super()调用__init__()方法时,A 虽然被继承了两次,但__init__()只调用一次:查看全部
-
__slots__定义的属性仅对当前类起作用,对继承的子类是不起作用的。除非在子类中也定义__slots__,就像答案中一样,子类允许定义的属性就是自身的__slots__加上父类的__slots__。查看全部
-
@property---这是关键字,固定格式,能让方法当“属性”用。 @score.setter---前面的"score"是@property紧跟的下面定义的那个方法的名字,"setter"是关键字,这种“@+方法名字+点+setter”是个固定格式与@property搭配使用 这里注意到一个细节,就是把score定义成了私有属性__score,而我们根据前面的知识了解到私有属性在类外是不能够直接访问的,必须通过方法调用的方式,而装饰器函数又恰好把方法装饰成了属性调用,所以这里调用属性其实就是调用方法,返回的是私有属性查看全部
-
class Rational(object): def __init__(self, p, q): self.p = p self.q = q def __int__(self): return self.p // self.q def __float__(self): return float(self.p) / self.q 返回float时 需要先把一个数转换成float print float(Rational(7, 2)) print float(Rational(1, 3))查看全部
-
def gcd(a, b): if b == 0: return a return gcd(b, a % b) 球最大公约数查看全部
-
a,b = a,a+b 等价于 t = a a = b b = t+b python 有三头六臂查看全部
举报
0/150
提交
取消