Sobes.tech
Junior — Middle

Obyektin dərin nüsxəsi ilə səthi nüsxəsi arasındakı fərqi izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Поверхностное копирование (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]] — оригинал не изменился