Ich bin sehr neu in Python und ich wünschte, ich könnte .
Notation machen, um auf Werte von a zuzugreifen dict
.
Nehmen wir an, ich habe folgendes test
:
>>> test = dict()
>>> test['name'] = 'value'
>>> print(test['name'])
value
Aber ich wünschte, ich könnte tun test.name
, um zu bekommen value
. Tatsächlich habe ich die __getattr__
Methode in meiner Klasse folgendermaßen überschrieben :
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')
und das funktioniert! wenn ich es tue:
test.name // I get value.
Aber das Problem ist, wenn ich nur test
alleine drucke, bekomme ich den Fehler als:
'Sorry no key matches'
Warum passiert das?