我想知道如何在Python类中正确地保留一个静态对象。在这种情况下,我想要一个静态字典。
以下是我需要的一个简单例子:
现在如果我直接调用这个类并替换d为一个新的字典。
以下是我需要的一个简单例子:
class dTest:
# item I want to be static
d = {"First":1}
>>> a = dTest()
>>> a.d
{'First': 1}
>>> dTest.d["Second"] = 2
>>> a.d["Third"] = 3
>>> a.d
{'Second': 2, 'Third': 3, 'First': 1}
>>> dTest.d
{'Second': 2, 'Third': 3, 'First': 1}
现在如果我直接调用这个类并替换d为一个新的字典。
>>> dTest.d = {}
>>> a.d
{}
然而,如果我用一个新的字典替换a.d,我也希望能够拥有相同的功能。
>>> a.d = {"Fourth":4}
>>> a.d
{'Fourth': 4}
>>> dTest.d
{}
我现在期望的结果是dTest.d与a.d相同(其中dTest.d为{'Fourth': 4)}。
是否有适当的处理方法,或者我必须确保只有在通过dTest实例进行编辑时才能编辑对象?
谢谢!
property
创建 getter 和 setter。 - JBernardoa.d
之后更改dTest.d
,您会注意到a.d
将不再随dTest.d
一起更改。 - 2rs2tsd
时,属性将无法工作... - bruno desthuilliers