Найти в Дзене

38. Как сделать копию объекта? Как сделать глубокую копию объекта?


Типа копий бывает два: обычная-неглубокая (shallow) и глубокая (deep).

Разница между мелким и глубоким копированием актуальна только для составных объектов (объектов, содержащих другие объекты, такие как списки или экземпляры классов).:

- Неглубокая копия создает новый составной объект, а затем (насколько это возможно) вставляет в него ссылки на объекты, найденные в оригинале.

- Глубокая копия создает новый составной объект, а затем рекурсивно вставляет в него копии объектов, найденных в оригинале.

Ответ:

from copy import copy, deepcopy
a = [1,2,3,4,5,6]
my_copy = copy(a)
my_deep_copy = deepcopy(a)

>>> id(a)
140384823640320
>>> id(my_copy)
140384823640448
>>> id(my_deep_copy)
140384823572544

#сериал101, #38
Около минуты