繼續閱讀 《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__
函數。 閱讀全文 >>