我希望定义一个字典,该类的实例可以添加条目,类可以添加条目。当类修改变量时,该示例生成'TypeError:'属性'对象不支持项目赋值'。如何更改myClass以使其通过下面的测试?
class myClass(object):
_d = {}
@property
def d(self):
return self._d
@d.setter
def d(self,key,val):
self._d[key] = val
def printMyClass(self):
print self._d
A = myClass()
B = myClass()
A.d['a'] = 1
B.d['b'] = 2
A.printMyClass()
B.printMyClass() # returns {'a': 1, 'b': 2}
myClass.d['c'] = 3 # fails, expect {'a': 1, 'b': 2, 'c': 3}
B.printMyClass()