Sobes.tech
Junior — Middle

Bir nesnenin derin kopyası ile yüzeysel kopyası arasındaki farkı açıklayabilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

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