Python 包含字典的类属性
请您解释一下,为什么Python 包含字典的类属性,python,python-3.x,dictionary,properties,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":
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()
self.d.update({“C”:3})
是一个无效函数。它返回一个None
值。在您的情况下,v2
被重新分配给None
dict.update
是一个就地操作,它不返回任何内容(它返回None
)。如果在创建v3
之前只打印(self.d),您将看到self.d[“C”]
已经是3
。经典副本:。@jornsharpe谢谢你的回复!我完全忘了。