Что такое deepcopy
Python
Middle
Без компании
Что такое deepcopy
Ответы
`deepcopy` создаёт полную копию объекта, включая все вложенные объекты, в отличие от `copy`, который копирует только верхний уровень. Это полезно, когда нужно изменить копию, не затрагивая оригинал.
**Пример:**
```
import copy
original = [[1, 2], [3, 4]]
shallow = copy.copy(original) # Поверхностная копия
deep = copy.deepcopy(original) # Глубокая копия
original[0][0] = 99
print(shallow) # [[99, 2], [3, 4]] (изменилось)
print(deep) # [[1, 2], [3, 4]] (не изменилось)
```
**Когда использовать:**
- Если объект содержит вложенные изменяемые структуры (списки, словари).
- Для избежания побочных эффектов при модификации копии.
⚠️ `deepcopy` медленнее `copy` и может вызвать проблемы с циклическими ссылками.