Несколько экземпляров класса перезаписываются одновременно? (Python)

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

Что я делаю неправильно?

7
задан jecaklafa 26 June 2012 в 23:39
поделиться