это мой код:
class fun:
def __getattr__(self,key):
return self[key]
def __setattr__(self,key,value):
self[key] = value+1
a = fun()
a['x']=1
print a['x']
и ошибка:
AttributeError: fun instance has no attribute '__getitem__'
когда я изменяю его на:
class fun:
def __getattr__(self,key):
return self.key
def __setattr__(self,key,value):
self.key = value+1
a = fun()
a.x=1
print a.x
ошибка:
RuntimeError: maximum recursion depth exceeded
что я могу сделать, я хочу получить 2