__call__ 和 __init__半毛钱的关系都没有。
后者是构造类的实例时会调用的方法,并不是构造方法。
前者是在实例上可以呼叫的方法。代码示例如下:
>>> class foo:
def __init__(self):
print "init"
def __call__(self):
print "call"
>>> foo()
init
<__main__.foo instance at 0x0000000002C6EC88>
>>> foo()()
init
call
2024-03-15 21:00:24
__call__ 和 __init__半毛钱的关系都没有。
后者是构造类的实例时会调用的方法,并不是构造方法。
前者是在实例上可以呼叫的方法。代码示例如下:
>>> class foo:
def __init__(self):
print "init"
def __call__(self):
print "call"
>>> foo()
init
<__main__.foo instance at 0x0000000002C6EC88>
>>> foo()()
init
call