Вот очень простой код, который я сделал, чтобы продемонстрировать проблему, с которой я столкнулся. Здесь происходит то, что я создаю два разных экземпляра одного и того же класса, но изменение атрибута одного изменит соответствующий атрибут другого экземпляра. Я не уверен, почему это так. Это нормально в 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
Что я делаю неправильно?