9. __call__方法
__call__
是一个特殊方法,它允许一个类的对象(也叫实例)像函数一样被调用。
当一个类实现了 __call__
方法后,该类的对象就成为了可调用对象,可以通过对象名() 的方式调用该方法,而实际上执行的是 __call__
方法中的代码。
示例
class NumberAdder:
def __init__(self, start=0):
self.value = start
def __call__(self, a_number):
self.value += a_number
adder = NumberAdder(0)
adder.__call__(100)
adder.__call__(200)
adder(300)
print(adder.value)
上述示例中,adder 是对象,但它可以像函数一样调用,并能够返回值(尽管此示例返回None)。