我试图理解何时定义__getattr__
or __getattribute__
. The python 文档 http://docs.python.org/reference/datamodel.html?highlight=__getattribute__#object.__getattribute__提及__getattribute__
适用于新式班级。什么是新式课堂?
之间的一个关键区别__getattr__
and __getattribute__
就是它__getattr__
仅当未按通常方式找到该属性时才调用。它对于实现缺失属性的后备很有用,并且可能是您想要的两个之一。
__getattribute__
在查看对象的实际属性之前调用,因此正确实现可能很棘手。你很容易就会陷入无限递归。
新式类源自object
,旧式类是 Python 2.x 中没有显式基类的类。但是,在选择时,旧式类和新式类之间的区别并不是重要的。__getattr__
and __getattribute__
.
你几乎肯定想要__getattr__
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)