欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python中的__call__()方法

程序员文章站 2022-06-12 08:25:28
...

今天遇到了一个类中定义了__call__()方法:
查了一下,回答如下:
http://c.biancheng.net/view/2380.html
简单理解,就是如果一个类中定义了__call__()方法,那么这个方法就可以直接通过()调用。
借用上边链接回答中的例子:

class CLanguage:
    # 定义__call__方法
    def __call__(self,name,add):
        print("调用__call__()方法",name,add)

clangs = CLanguage()
clangs("C语言中文网","http://c.biancheng.net")

输出为:
调用__call__()方法 C语言中文网 http://c.biancheng.net
这里直接使用括号调用了clangs函数。

扩展来讲:
其实所有的通过()进行的对象调用“对象名()”,都可看做是“对象名.call()”的简写。