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