Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: shallow, copy, deep

Чем отличается поверхностное копирование от глубокого копирования?

Вопрос проверяет понимание работы ссылок и вложенных структур.

Короткий ответ

Поверхностное копирование создает новый контейнер, но вложенные объекты остаются теми же. Глубокое копирование копирует все вложенные объекты рекурсивно. При изменении вложенных элементов в shallow copy изменения могут затронуть оригинал. Deep copy полностью изолирован.

Длинный ответ

Поверхностное копирование

Определение:
Поверхностная копия создает новый объект верхнего уровня, но вложенные элементы остаются ссылками.

Пример:

import copy

data = [[1, 2], [3, 4]]
shallow = copy.copy(data)

shallow[0][0] = 100
print(data)  # изменится

Изменился вложенный список.

Глубокое копирование

Определение:
Глубокая копия рекурсивно копирует все вложенные объекты.

Пример:

deep = copy.deepcopy(data)

deep[0][0] = 500
print(data)  # не изменится

Когда использовать shallow copy

  1. Когда структура простая

  2. Когда вложенные объекты неизменяемые

  3. Когда важна производительность

Когда нужен deep copy

  1. Вложенные структуры

  2. Работа с конфигурациями

  3. Обработка данных

Вывод

Shallow copy копирует структуру, deep copy копирует структуру и содержимое, обеспечивая полную независимость объектов.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    5

  • Сложность:

    6

Навыки

  • Python

    Python

Ключевые слова

#shallow

#copy

#deep

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.