Python 對象當函數使及動態添加方法

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章