八. __call__
- 触发条件 : [对象] + ( ) 就触发
__call__
的执行
class Person:
def __init__(self,name):
self.name = name
def __call__(self, *args, **kwargs):
print(args)
print(kwargs)
print(self.name + "触发了__call__")
P1 = Person("派大星")
P1()
# ()
# {}
# 派大星触发了__call__
P1(1,2,3,4,name="shawn")
# (1, 2, 3, 4)
# {'name': 'shawn'}
# 派大星触发了__call__
一切皆对象, Person类也是一个对象, Persion+( ) 触发的是生成Persion类的类里的
__call__
而Persion类生成的对象+( ) 触发的才是Persion类的
__call__