如何更改类静态变量?

时间:2016-01-12 19:11:34

标签: python class variables static

我希望定义一个字典,该类的实例可以添加条目,类可以添加条目。当类修改变量时,该示例生成'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()

0 个答案:

没有答案