在讨论元类时,文档说明:
您当然也可以覆盖其他类方法(或添加新方法); 例如__call__(),在调用类时,在元类中定义自定义方法允许自定义行为,例如,并不总是创建新实例.
__call__()
我的问题是:假设我想在调用类时有自定义行为,例如缓存而不是创建新对象.我可以通过覆盖__new__类的方法来做到这一点.我什么时候想要定义一个元类__call__?这种方法给出了什么,这是不可能实现的__new__?
__new__
__call__
python oop metaclass
metaclass ×1
oop ×1
python ×1