class Foo:
def __call__():
print("call")
if __name__=='__main__':
Foo()
print("--------")
Foo.__call__()
上面代码输出如下:
--------
call
请问为何这里 Foo()不等于 Foo.call(),什么情况下才会相等呢? 谢谢
1
Anybfans 2017-08-29 21:33:11 +08:00
Foo() 执行的是__init__方法 可以试试这样 f = Foo() f()
|
2
laike9m 2017-08-29 21:34:59 +08:00 1
|
3
janxin 2017-08-29 21:43:14 +08:00 via iPad
class Foo:
def __call__(self): print("call") if __name__=='__main__': f = Foo() print("--------") f() |