python的 __call__
时间: 2023-10-26 22:08:06 浏览: 153
浅谈python中的__init__、__new__和__call__方法
5星 · 资源好评率100%
Python中的`__call__`方法允许程序员创建可调用的对象(实例)。默认情况下,`__call__()`方法是没有实现的,这意味着大多数实例是不可调用的。但是如果类中定义了`__call__()`方法,那么这个类的实例对象就可以被调用了,调用该实例对象就是执行`__call__()`方法中的代码。
举个例子,如果有一个名为Person的类,其中定义了`__call__()`方法,那么可以创建一个Person的实例对象,并像调用函数一样调用该对象。例如:
```python
class Person(object):
def __call__(self):
print("Method __call__() is called")
d = Person()
d()
```
输出结果为:"Method __call__() is called"。
此外,Python中的可调用对象还包括自定义函数、Python内置函数、实例对象和实例方法等。这些对象都可以在后面加上括号`()`来调用执行。
阅读全文