python一切皆对象,从是否可调用层面讲,对象又可以分为可调用对象、不可调用对象
在本篇中,类中实现__call__双下方法,即将该类的实例变为可调用对象
普通类未实现__call__的方法,实例是不可调用的,先看- 1 class Valley:
- 2 ...
- 3
- 4
- 5 if __name__ == '__main__':
- 6 v = Valley()
- 7 print(callable(v))
复制代码 output:
False
实现了__call__方法后- 1 class Valley:
- 2 def __call__(self, *args, val='测试', **kwargs):
- 3 print(val)
- 4
- 5
- 6 if __name__ == '__main__':
- 7 v = Valley()
- 8 v()
- 9 # 其实质
- 10 v.__call__()
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |