class.__call__(): Python若将一个类变为callable对象,需要实现__call__()方法,类似与其他语言的类的构造器的重载:
class Person:
def __init__(self, name, gender):
self.name, self.gender = name, gender
print("name:" +self.name +", gender:" +self.gender)
def __call__(self, mobile):
self.mobile = mobile
print("mobile:" +str(mobile))
one_person = Person("Tom", "Male")
one_person(13088997766)
one_person.__call__(18188888888)
---
name:Tom, gender:Male
mobile:13088997766
mobile:18188888888
one_person(13088997766)效果与one_person.__call__(18188888888)一样