Justin-刘清政的博客

python/面向对象高阶/11-__call__

2020-12-21

一、call

  • 对象后面加括号时,触发执行。
  • 注:构造方法的执行是由创建对象触发的,即:对象 = 类名() ;而对于 call 方法的执行是由对象后加括号触发的,即:对象() 或者 类()()
1
2
3
4
5
6
7
8
9
10
class Foo:
def __init__(self):
print('__init__触发了')

def __call__(self, *args, **kwargs):

print('__call__触发了')


obj = Foo() # 执行 __init__
1
__init__触发了
1
obj()  # 执行 __call__
1
__call__
使用支付宝打赏
使用微信打赏

点击上方按钮,请我喝杯咖啡!

扫描二维码,分享此文章