Callable object in Python
參考以下程式碼:
class Test(object): def __init__(self): print 'init' def __call__(self): print 'call'這時,我們來建立一個Test類別的實體
test = Test() # 印出 initOk, 這很簡單理解,因為我們初始化了Test類別。那何時會用到__call__呢?那就是把test當function呼叫看看。
test() # 印出 call有趣吧,這在其他程式語言中很少見,但是如果沒有實作__call__的話,執行該物件會產生TypeError exception,會告訴你該物件不是callable。
留言