对象后面加括号,触发执行。
注:构造方法的执行是由创建对象触发的,即:对象 = 类名() ;而对于 call 方法的执行是由对象后加括号触发的,即:对象() 或者 类()()
class Foo:
def __init__(self):
print('执行__init__')
def __call__(self, *args, **kwargs):
print('执行__call__')
obj = Foo() # 执行 __init__
obj() # 执行 __call__
结果:
执行__init__
执行__call__