これは、私が遭遇した問題を示すために作成した非常に単純なコードです。ここで起こっていることは、同じクラスの 2 つの異なるインスタンスを作成していますが、一方の属性を変更すると、もう一方のインスタンスの対応する属性が変更されるということです。これがなぜなのかわかりません。これは Python では普通のことですか、それとも完全に台無しになっている何かに遭遇していますか?
class exampleClass(object):
attribute1=0
attribute2="string"
x=exampleClass
x.attribute1=20
x.attribute2="Foo"
y=exampleClass
y.attribute1=60
y.attribute2="Bar"
print("X attributes: \n")
print(x.attribute1)
print(x.attribute2)
print("Y attributes: \n")
print(y.attribute1)
print(y.attribute2)
コンソールから出てきたプログラムは次のようになります。
>>>
X attributes:
60
Bar
Y attributes:
60
Bar
>>>
私はそれが言うべきだと思います:
X attributes:
20
Foo
Y attributes:
60
Bar
私は何を間違っていますか?