以下のコードに示すように__setattr__
、メソッドをオーバーロードするクラスの一部である dict に値を設定するために使用できないのはなぜですか? 私はそれが存在しないことを期待してb.hello
いました。
class MyClass():
datastore = {}
def __init__(self):
self.datastore = {}
def __getattr__(self, key):
return self.datastore[key]
def __setattr__(self, key, value):
self.datastore[key] = value
a = MyClass()
b = MyClass()
a.hello = "err"
print a.hello # err
print b.hello # err