我已经阅读了创建一个静态变量,我们可以在类定义中声明它们,而不是在方法内声明它们。但是从Java世界看来,它对我来说似乎并不“静态”,因为从一个实例更改变量的值会创建自己的与变量不同的变量。 我正在寻找一种方法来确保变量的值在不同实例间保持一致。 StackOverflow的答案之一提出了下面这段代码,这对我来说似乎不太适用。在Python中维护实例中的静态变量的公共值
class Test(object):
_i = 3
@property
def i(self):
return self._i
@i.setter
def i(self,val):
self._i = val
x1 = Test()
x2 = Test()
x1.i = 50
assert x2.i == x1.i # The example suggested no error here but it doesn't work for me
你可以用一个例子来解释一下,如果可以做到这一点吗?
你似乎浪费你的时间,因为没有恒定的变量,并且在Python中有动态属性你有没有考虑过这个选项只是为了不这样做(重写实例中的var)? –