Python: deepcopy не работает на пользовательских классах?
В следующем примере я ожидаю, что deepcopy создаст копию поля, а не просто скопирует ссылку. Что здесь происходит и есть ли простой способ обойти это?
from copy import deepcopy
class Test:
field = [(1,2)]
t1 = Test()
t2 = deepcopy(t1)
t2.field[0]=(5,10)
print t1.field # [(1,2)] expected but [(5,10)] obtained
print t2.field # [(5,10)] expected
Выход:
[(5, 10)]
[(5, 10)]