Я хочу переопределить доступ к одной переменной в классе, но возвращать все остальные обычно. Как это сделать с помощью __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