python-call实现调用对象

如果在类中实现了 __call__ 方法,那么实例对象也将成为一个可调用对象

class Entity1:
    def __init__(self, size, x, y):
        self.x, self.y = x, y
        self.size = size
    def __call__(self, x, y):
        self.x, self.y = x, y

e = Entity1(1, 2, 3) #创建对象
print(e.x,e.y)
e(4, 5) #对象可调用
print(e.x,e.y)


class Entity2:
    def __init__(self, *args,**kwargs):
        print(args,kwargs)
    def __call__(self, *args,**kwargs):
        print(args,kwargs)

e = Entity2(1, 2, 3,a=1,b=2)
e(4, 5,c=3)
原文地址:https://www.cnblogs.com/shuzf/p/13353681.html