Чем deepcopy отличается от copy?

Junior
313 просмотров
AFK Offer AI

copy.copy() делает поверхностную копию — создаёт новый объект, но вложенные объекты остаются ссылками на оригиналы. copy.deepcopy() рекурсивно копирует все вложенные объекты. Для плоских структур разницы нет, но для nested list/dict — критична. Например, copy списка списков: изменение вложенного списка в копии изменит и оригинал. deepcopy это решает, но он дороже по памяти и времени. Для slice (a[:]) и dict(d) — тоже shallow copy.

Следующий вопрос

Как работает pytest.mark.parametrize?