对象后面加括号,触发执行。
ps:构造方法的执行是由创建对象触发的,即 对象 = 类名(); 而对于__call__方法的执行是由对象后加括号触发的,
即对象() 或者 类()()
class Foo:
def __call__(self, *args, **kwargs):
print('实例执行了,obj()')
f1 = Foo()
f1() # 实例()会调用Foo下的__call__方法
对象后面加括号,触发执行。
ps:构造方法的执行是由创建对象触发的,即 对象 = 类名(); 而对于__call__方法的执行是由对象后加括号触发的,
即对象() 或者 类()()
class Foo:
def __call__(self, *args, **kwargs):
print('实例执行了,obj()')
f1 = Foo()
f1() # 实例()会调用Foo下的__call__方法