Я дуже новачок у python, і я хотів би зробити .
позначення для доступу до значень a dict
.
Скажімо, у мене test
таке:
>>> test = dict()
>>> test['name'] = 'value'
>>> print(test['name'])
value
Але я хотів би зробити, test.name
щоб дістати value
. Фактично я зробив це, перевизначивши __getattr__
метод у своєму класі так:
class JuspayObject:
def __init__(self,response):
self.__dict__['_response'] = response
def __getattr__(self,key):
try:
return self._response[key]
except KeyError,err:
sys.stderr.write('Sorry no key matches')
і це працює! коли я роблю:
test.name // I get value.
Але проблема полягає в тому, що, коли я просто друкую test
самостійно, я отримую помилку як:
'Sorry no key matches'
Чому це відбувається?