如果我定義了一個簡單的類類變量是否可變?
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' **不一定是同一件事**。 –