如果我定义了一个简单的类类变量是否可变?
class someClass():
var = 1
x = someClass()
someClass.var = 2
这将使x.var
等于2,这是混淆是因为通常 一个类似于此类似:
a = 1
b = a
a = 2
将离开b不变,因为b==1
。那么为什么这与类变量不一样?区别在哪里?可以调用所有类变量可变吗? 通过某种方式,类变量的工作方式更像是将列表分配给a=[1]
并执行a[0]=2
。
基本上问题是如何x.var
acessing someClass.var它必须是不同的东西,然后在Python中设置两个变量相等时使用。发生什么事?
现在设置'x.var = 3',看看会发生什么'someClass.var' –
我知道,但那不是点 – pindakaas
不,这*是*点。从本质上讲,当你做'SomeClass.var'和'someInstance.var' **不一定是同一件事**。 –