Python的__getattr__和__getattribute__
Posted 禾田守望者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python的__getattr__和__getattribute__相关的知识,希望对你有一定的参考价值。
__getattr__
__getattr__在当前主流的Python版本中都可用,重载__getattr__方法对类及其实例未定义的属性有效。也就属性是说,如果访问的属性存在,就不会调用__getattr__方法。这个属性的存在,包括类属性和实例属性。
__getattribute__
__getattribute__仅在新式类中可用,重载__getattrbute__方法对类实例的每个属性访问都有效。
另外,当同时定义__getattribute__和__getattr__时,__getattr__方法不会再被调用,除非显示调用__getattr__方法或引发AttributeError异常。
更多实例见:https://www.cnblogs.com/blackmatrix/p/5681480.html
以上是关于Python的__getattr__和__getattribute__的主要内容,如果未能解决你的问题,请参考以下文章
Python的__getattr__和__getattribute__
python中__getattr__和__getattribute__区别
Python的魔法函数系列 __getattrbute__和__getattr__
Python对象里的 __call__ 和 __getattr__