python怎么知道p('alice')应该往my friend is 的format上安,而不是往my name is的那个format上安?就是后面也没写一下p('alice')跟friend这个参数有联系,它怎么就自动套上了呢?
p('Alice') # ==> 用函数的方式调用Person类的实例p
def __call__(self, friend): print('My name is {}...'.format(self.name)) print('My friend is {}...'.format(friend))
有啊! print('My friend is {}...'.format()) format后面跟了friend啊
简单来说
p('Alice') 是p.__call__('Alice')的缩写。