继续阅读 《Python Tricks: The Book》,书中说到 "Objects Can Behave Like Functions", 就是把对象当成函数来调用,在普通对象后加个括号就能调用相应的 __call__
函数。下面是书中的例子
class Adder:
def __init__(self, n):
self.n = ndef __call__(self, x):
return self.n + x
然后是应用类 Adder
的代码
plus_3 = Adder(3)
plus_3(4) # 普通对象 plus_3 当成函数来用
上面 plus_3
是一个普能的对象,并非一个函数,但如果把它当成函数来看待,那么 plus_3(4)
就会去寻找相应的 __call__
函数。 阅读全文 >>