В чем разница между глубоким (deep copy) и поверхностным (shallow copy) копированием

Python Middle Без компании
В чем разница между глубоким (deep copy) и поверхностным (shallow copy) копированием
Ответы
Глубокое копирование создает полностью независимую копию объекта со всеми вложенными объектами, тогда как поверхностное копирует только первый уровень, оставляя вложенные объекты ссылками на оригинал. Пример с `copy` модулем: ``` import copy original = [[1, 2], [3, 4]] shallow = copy.copy(original) # поверхностная копия deep = copy.deepcopy(original) # глубокая копия original[0][0] = 99 print(shallow) # [[99, 2], [3, 4]] - изменилось print(deep) # [[1, 2], [3, 4]] - осталось без изменений ``` Ключевые моменты: - Поверхностное копирование (`copy()`) подходит для неизменяемых или простых объектов - Глубокое копирование (`deepcopy()`) нужно для сложных вложенных структур - Для списков `[:]` и `list()` создают поверхностные копии - Глубокое копирование медленнее и требует больше памяти