カスタム メソッドを試してみるために作成したこの小さなクラスが__getattr__
あり、それを実行するたびに属性エラーが発生します。
class test:
def __init__(self):
self.attrs ={'attr':'hello'}
def __getattr__(self, name):
if name in self.attrs:
return self.attrs[name]
else:
raise AttributeError
t = test()
print test.attr
出力は次のとおりです。
Traceback (most recent call last):
File "test.py", line 11, in <module>
print test.attr
AttributeError: class test has no attribute 'attr'
何を与える?属性エラーが発生する前にgetattrが呼び出されたと思いましたか?