Python类里面的__call__方法是做什么的

__call__方法可以让一个对象表现得像一个函数,可以被调用。
定义__call__方法的对象称为可调用对象(callable)。
例如,我们可以定义一个类,它的实例可以像函数一样被调用:

python
class Add(object):
    def __init__(self, n):
        self.n = n

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

add_3 = Add(3)
add_10 = Add(10)

print(add_3(1))  # 4
print(add_10(5)) # 15

这里,Add类的实例add_3和add_10可以像函数一样被调用,这是因为定义了__call__方法。
所以__call__方法的作用就是让一个类的实例像函数一样被调用,从而让这个类成为一个可调用对象。

你可能感兴趣的:(python,python)