Junior — Middle
Оё метавонед шарҳи кунед, ки чӣ маъно дорад нусхаи рӯи объект ва чӣ гуна аз нусхаи амиқ фарқ мекунад?
sobes.tech AI
Ҷавоб аз AI
Поверхностная копия (shallow copy) объекта создаёт новый объект, но вложенные объекты внутри него не копируются, а просто ссылаются на те же самые объекты, что и в оригинале. То есть, изменения в вложенных объектах будут видны и в копии.
Глубокая копия (deep copy) создаёт полностью независимую копию объекта, включая все вложенные объекты рекурсивно. Изменения в копии не влияют на оригинал и наоборот.
В Python для поверхностного копирования можно использовать функцию copy.copy(), а для глубокой — copy.deepcopy() из модуля copy.
Пример:
import copy
original = {'a': [1, 2, 3], 'b': 4}
shallow = copy.copy(original)
deep = copy.deepcopy(original)
shallow['a'].append(4)
print(original['a']) # [1, 2, 3, 4] — изменилось, так как список общий
deep['a'].append(5)
print(original['a']) # [1, 2, 3, 4] — не изменилось, так как deep copy создал новый список