__call__, __str__
一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__()
class People: def __init__(self, name, age): self.name = name self.age = age def __str__(self): return "his name is %s" % self.name def __call__(self, gender): print("he is a " + gender) human1 = People("jack", 34) print(human1) # 当使用print输出对象的时候,只要自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据 human1("male") # 可直接对实例进行调用,就像使用函数一样
输出
his name is jack he is a male
参考:
https://www.runoob.com/note/41154
努力生活,融于自然
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步