python之(__call__)

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

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

class Foo:

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


obj = Foo() # 执行 __init__
obj()       # 执行 __call__

结果:

执行__init__
执行__call__
发布了64 篇原创文章 · 获赞 21 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览