クラス変数の仕組みについてのアイデアを把握しようとしています。私の知る限り、クラス変数はクラスインスタンス(オブジェクト)間で共有されます。 その考えの中で、クラス変数を変更すると、その値はすべてのクラスインスタンスに変更されるはずです... ...しかし、これは必ずしもそうではないようです。クラス変数奇数(自己なし)
以下は簡単な例です:
class A:
name = "Dog"
a1 = A()
a2 = A()
# These both change the value only for an instance
a1.name = "Cat"
a2.name += " is an animal"
print(a1.name, a2.name)
class B:
number = 0
b1 = B()
b2 = B()
# Again only changes value for an instance
b1.number = 2
print(b1.number, b2.number)
# This is the weird one.
class C:
lista = []
c1 = C()
c2 = C()
# Changes the value for BOTH/ALL instances.
c1.lista.append(5)
c2.lista.append(6)
print(c1.lista, c2.lista)
# But this one only changes the value for an instance.
c1.lista = [1, 2, 3]
print(c1.lista, c2.lista)
あなたはギリシャですか?好奇心の外に – cssGEEK