Sobes.tech
Back to questions
Junior — Middle
87

При использовании Python, сталкивались ли вы с созданием глубоких копий объектов?

Companies where asked
РостелекомРостелеком

Answer from AI

sobes.tech AI

В Python для создания глубокой копии объекта используется модуль copy и функция deepcopy(). Глубокая копия создает новый объект и рекурсивно копирует все вложенные объекты, в отличие от поверхностной копии, которая копирует только верхний уровень.

Пример:

import copy

original = [[1, 2], [3, 4]]
shallow_copy = copy.copy(original)
deep_copy = copy.deepcopy(original)

original[0][0] = 99

print(shallow_copy)  # [[99, 2], [3, 4]] — изменился, так как копия поверхностная
print(deep_copy)     # [[1, 2], [3, 4]] — не изменился, так как копия глубокая

Глубокие копии полезны, когда нужно избежать побочных эффектов при изменении вложенных структур данных.