本文實例講述了python中__call__方法的用法,分享給大家供大家參考。具體方法分析如下:
Python中的__call__允許程序員創建可調用的對象(實例),默認情況下, __call__()方法是沒有實現的,這意味著大多數實例是不可調用的。然而,如果在類定義中覆蓋了這個方法,那么這個類的實例就成為可調用的。
test.py文件如下:
#!/usr/bin/python# Filename:test.py class CallTest(): def __init__(self): print 'init' def __call__(self): print 'call' call_test = CallTest()
執行結果:
沒有重寫__call__:
>>> from test import CallTestinit>>> t = CallTest()init>>> callable(t)False>>> t()Traceback (most recent call last): File "<stdin>", line 1, in <module>AttributeError: CallTest instance has no __call__ method>>>
重寫__call__:
>>> from test import CallTestinit>>> t = CallTest()init>>> callable(t)True>>> t()call>>>
希望本文所述對大家的Python程序設計有所幫助
新聞熱點
疑難解答