Назад к вопросам
Yadro
Middle+
11
Расскажите про модуль copy в Python. В чём разница между copy и deepcopy?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Модуль copy в Python предоставляет функции для создания копий объектов. Основные функции:
copy.copy(obj)— поверхностное копирование (shallow copy).copy.deepcopy(obj)— глубокое копирование (deep copy).
Разница между copy и deepcopy:
- Поверхностное копирование создает новый объект, но вложенные объекты внутри него не копируются, а просто ссылаются на те же объекты, что и в оригинале.
- Глубокое копирование рекурсивно копирует все вложенные объекты, создавая полностью независимую копию.
Пример:
import copy
original = [1, [2, 3]]
shallow = copy.copy(original)
deep = copy.deepcopy(original)
original[1][0] = 'changed'
print(shallow) # [1, ['changed', 3]] — вложенный список изменился
print(deep) # [1, [2, 3]] — глубокая копия не изменилась