__call__

可调用对象

如果一个类中定义了一个方法是call,通过这个类实例出来的对象就是可调用对象,即直接可以用实例名加括号的形式直接调用,调用的就是类的call方法

class Student(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __call__(self):
        print(self.name, self.age)


s = Student('xm', 18)
s()

应用场景

1.简化调用方法
2.当传入的参数你希望是可以直接调用的可调用对象

你可能感兴趣的:(__call__)