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