Иногда мы не хотим, чтобы все изменилось. В приведенном ниже коде мои оригинальные Things
видоизменены, хотя я сделал копию списка, содержащего их. Я не настолько удивлен, но я хотел бы знать, как сохранить исходные свойства моего объекта, чтобы я мог восстановить свой список things
точно так, как он был при первом создании.
class Thing:
def __init__(self, x):
self.x = x
def __str__(self):
return str(self.x)
things = [Thing(10), Thing(20)]
original_things = things.copy()
for thing in things:
print(thing)
print("All change")
things[0].x = 30
things[1].x = 40
print("Back to the beginning?")
things = original_things
for thing in things:
print(thing)