В чём разница между copy.copy() и copy.deepcopy() в Python? Когда важно использовать именно deepcopy?
Pythonmediummiddle
Варианты ответа
copy() делает shallow copy — дублирует только внешний объект, внутренние ссылки остаются общими. deepcopy() рекурсивно копирует все вложенные объекты, меняя одно не затронешь другое
copy() использует memory allocator быстрее, работает параллельно на нескольких ядрах процессора через GIL-оптимизации. deepcopy() — однопоточный аналог, медленнее для больших объектов
copy() копирует immutable-объекты (int, tuple, str), deepcopy() — mutable (list, dict, set). Для общего случая при работе с pandas DataFrame в обычных ETL надо использовать только deepcopy
copy() сохраняет reference-count объектов, deepcopy() обнуляет счётчик ссылок — это важно для сборщика мусора при работе с circular references в долгоживущих продакшн-процессах
Разбор ответа
Подробный разбор с объяснением «почему правильный ответ верный» и почему остальные неверны — после регистрации.
2475 вопросов с разбором, quiz-режим с проверкой, AI-собес и подготовка к интервью аналитика.