__call__

对象后面加括号,触发执行。

注:构造方法的执行是由创建对象触发的,即:对象 = 类名() ;而对于 __call__ 方法的执行是由对象后加括号触发的,即:对象() 或者 类()()

class foo:
pass

def __call__(self, *args, **kwargs):
print('执行了__call__')

f = foo()

f() #这里面给对象加上括号,就会执行了__call__

猜你喜欢

转载自www.cnblogs.com/ajaxa/p/9067431.html