首页 > python的类成员是个dict,应该如何更新?

python的类成员是个dict,应该如何更新?

初学python,遇到个不解的问题,求教大神们,多谢了!!!

class T:
    d = {}
    
if __name__ == "__main__":
    
    t1 = T()
    t2 = T()
    t1.d["a"] = 1
    t2.d["b"] = 2
    print t1.d
    print t2.d

以上代码的输出如下:

{'a': 1, 'b': 2}
{'a': 1, 'b': 2}

为什么2个对象的成员会共享?应该怎么解决?

我的目标是打印出

{'a': 1}
{'b': 2}

不了解你的需求,既然是类成员变量,又要和实例绑定?
类变量是所有实例共享的,实例变量才属于实例

class T:
    def __init__(self):
        self.d = {}
    
if __name__ == "__main__":
    
    t1 = T()
    t2 = T()
    t1.d["a"] = 1
    t2.d["b"] = 2
    print t1.d
    print t2.d
【热门文章】
【热门文章】