最佳答案
我希望重写对类中一个变量的访问,但通常返回所有其他变量。如何使用 __getattribute__
实现这一点?
我尝试了下面的方法(这也可以说明我正在尝试做的事情) ,但是我得到了一个递归错误:
class D(object):
def __init__(self):
self.test=20
self.test2=21
def __getattribute__(self,name):
if name=='test':
return 0.
else:
return self.__dict__[name]
>>> print D().test
0.0
>>> print D().test2
...
RuntimeError: maximum recursion depth exceeded in cmp