私は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'
なぜこうなった?