包含字典的类属性

时间:2018-08-06 17:09:47

标签: python python-3.x dictionary properties

请您解释一下,为什么v2不包含{"A": 1, "B": 2, "C": 3}v3包含为什么?

class MyClass:

    def foo(self):

        v1 = self.d.get('A')
        print(v1)
        # 1

        v2 = self.d.update({"C": 3})
        print(v2)
        # None

        v3 = self.d
        v3.update({"C": 3})
        print(v3)
        # {'A': 1, 'B': 2, 'C': 3}

    @property
    def d(self):
        return {"A": 1, "B": 2}

mc = MyClass()
mc.foo()

1 个答案:

答案 0 :(得分:1)

self.d.update({"C": 3})是一个无效函数。它返回一个None值。您的情况是,v2被重新分配给None