Junior — Middle
69
Можете объяснить, чем отличается глубокое копирование объекта от поверхностного?
Answer from AI
sobes.tech AI
Поверхностное копирование (shallow copy) создает новый объект, но вложенные объекты внутри него не копируются, а просто ссылаются на те же самые объекты, что и в оригинале. Это значит, что изменения во вложенных объектах отразятся и в копии.
Глубокое копирование (deep copy) создает полностью независимую копию объекта вместе со всеми вложенными объектами, рекурсивно. Изменения в копии не влияют на оригинал.
Пример в Python:
import copy
original = [1, [2, 3]]
shallow = copy.copy(original)
deep = copy.deepcopy(original)
shallow[1][0] = 'changed'
print(original) # [1, ['changed', 3]] — изменился и оригинал
deep[1][0] = 'deep_changed'
print(original) # [1, ['changed', 3]] — оригинал не изменился