def __call__
时间: 2023-10-23 14:11:03 浏览: 98
Python中有趣在__call__函数
__call__ 是一个特殊方法 (dunder method),用于将一个对象作为函数调用。当我们在一个类中定义了 __call__ 方法,就可以像调用函数一样调用该类的实例对象。
例如,假设有一个 Calculator 类,我们可以定义一个 __call__ 方法来实现将对象作为函数调用来执行计算操作。下面是一个简单的示例:
```python
class Calculator:
def __call__(self, a, b):
return a + b
calc = Calculator()
result = calc(2, 3)
print(result) # 输出: 5
```
在上面的示例中,我们创建了一个 Calculator 类,并定义了 __call__ 方法。该方法接收两个参数,并返回它们的和。然后我们创建了 calc 实例,并将其作为函数调用,传入参数 2 和 3,得到结果 5。
通过定义 __call__ 方法,我们可以实现将一个类的实例像函数一样调用,这在某些情况下可以提供更灵活的使用方式。
阅读全文