Раздел 45 · Python backend: Тарбадель

Изменяемость глубоко: copy, deepcopy, алиасинг

middle~35 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Сообщение Квота приходит на старый терминал у подножия шахты. Узор читает его вслух, с выражением.

Ты вспоминаешь урок 19: поверхностная копия, вложенные словари, copy.deepcopy. Хочешь ответить Квоту одной строкой, но Элодий забирает у тебя мел.

Вопрос Элодия глубже, чем кажется. Копия это не «то же самое ещё раз», а решение по каждому объекту внутри: создать новый или оставить общий. Ошибиться можно в обе стороны. Скопировал мало, и правка копии бьёт по оригиналу, как у Квота. Скопировал много, и порвал связи, которые в оригинале были нарочно, или ушёл в бесконечную рекурсию на объекте, который содержит сам себя. Сегодня ты разберёшь, как это решение принимает copy.deepcopy, и соберёшь такую же функцию сам.

урок из курса

Урок из курса «Python backend: Тарбадель». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.