2015-03-13 2 views
0

Я создал объект класса Я буду называть узел.Копирование с разным адресом памяти - Python

Я хочу сделать копию экземпляра этого объекта. Скажем, оригинал называется «root», а копия должна называться «start»

Если я делаю start = root.

Когда я начинаю вносить изменения, он также меняет корень. Это связано с тем, что они имеют адрес памяти.

Как я могу сделать start = root с другим адресом памяти?

Я попытался возиться с копией/глубокой копией после некоторого поиска, но он говорит мне, что такого атрибута нет.

Есть ли простой способ сделать это?

Спасибо!

ответ

0

Я решил эту проблему, используя deepcopy из библиотеки lib. В моем случае у меня были другие объекты внутри объекта, который я хотел дублировать, поэтому мне пришлось использовать deepcopy, иначе просто копия решила бы проблему. Посмотрите на документацию библитеками (https://docs.python.org/2/library/copy.html)

Помните:

import copy 
start = copy.deepcopy(root)