Python__getattr__和__getattribute__之间的区别
我想了解何时使用__getattr__
或__getattribute__
。该文件提到了__getattribute__
适用于新样式类。什么是新型类?
回答:
之间的主要差异__getattr__
,并__getattribute__
是,__getattr__
如果属性没有被发现通常的途径,只调用。这对于实现缺少属性的后备方法很有用,并且可能是你想要的两个之一。
__getattribute__
在查看对象的实际属性之前调用,因此正确实现可能很棘手。你可以非常轻松地进行无限递归。
新样式类是从派生而来的object
,旧样式类是Python 2.x中没有显式基类的类。但旧式和新式的类之间的区别并不之间进行选择时的重要的__getattr__
和__getattribute__
。
你几乎可以肯定要__getattr__
。
以上是 Python__getattr__和__getattribute__之间的区别 的全部内容, 来源链接: utcz.com/qa/401746.html