首页 > 编程笔记 > Python笔记 阅读:20

Python __call__()的用法(附带实例)

Python 中的 __call__() 方法用于将一个实例作为函数调用。当一个类实现了 __call__() 方法时,它的实例可以像函数一样被调用,也可以在该实例中传入参数并执行相关的操作。

下面的程序展示了如何在一个自定义类中实现 __call__() 方法。
class Adder:
    def __init__(self, base):
        self.base = base

    def __call__(self, x):
        return self.base + x

# 创建一个 Adder 对象
adder = Adder(10)

# 调用 adder 对象,实际上会调用 __call__() 方法
result = adder(5)
print(result)  # 输出:15
在这个示例中,Adder 类实现了 __call__() 方法,该方法接受一个参数 x,并返回 self.base+x 的结果。当我们调用 adder(5) 时,实际上是调用了 adder 对象的 __call__()  方法,相当于执行了 adder.__call__(5),从而得到了结果 15。

通过实现 __call__() 方法,我们可以使类的实例可以像函数一样被调用。

相关文章