python中__str__, __call__方法

call在加上()時執行

class Foo:
    def __init__(self):
        pass
    def __call__(self, *args, **kwargs):
        print "__call__"
obj = Foo()
obj() #自動執行此方法__call__

輸出 print ‘對象’ 自動調用str方法

class Foo:
    def __init__(self):
        pass
    def __call__(self, *args, **kwargs):
        print "__call__"
    def __str__(self):
        return "C Class"
obj = Foo()
print obj #調用__str__方法
發佈了289 篇原創文章 · 獲贊 280 · 訪問量 130萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章