我是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'
为什么会这样呢?