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