Je suis très novice en matière de python et j'aimerais pouvoir faire .
pour accéder aux valeurs d'un dict
.
Disons que j'ai test
comme ça :
>>> test = dict()
>>> test['name'] = 'value'
>>> print(test['name'])
value
Mais j'aimerais pouvoir faire test.name
pour obtenir value
. En fait, je l'ai fait en remplaçant l'option __getattr__
dans ma classe comme ceci :
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')
et ça marche ! quand je le fais :
test.name // I get value.
Mais le problème est que lorsque j'imprime juste test
seul j'obtiens l'erreur comme :
'Sorry no key matches'
Pourquoi cela se produit-il ?