class someClass():
var = 1
x = someClass()
someClass.var = 2
単純なクラスを定義する場合、これはこれは、このように似通常 何かためであると混乱しているx.var
等しい2を行います:
a = 1
b = a
a = 2
がb==1
としてそのままbのままにします。では、なぜこれはクラス変数と同じではありませんか?違いはどこですか?すべてのクラス変数を呼び出すことはできますか? ある意味では、クラス変数はa=[1]
にリストを代入してa[0]=2
を割り当てるのと同じように機能します。
x.var
は、何か別のものでなければならないという問題があります.2つの変数がPythonで等しく設定されている場合に使用されます。何が起こっている?
が 'x.var = 3'に設定され、' someClass.var'に何が起こるかを見てください –
私は知っていますが、それはポイントではありません – pindakaas
いいえ、それは*ポイントです。基本的に、あなたが 'SomeClass.var'と' someInstance.var'を実行するとき**は必ずしも同じものではありません**。 –