Курс Python → Копирование в Python

Копирование в Python — это процесс создания копии объекта, чтобы иметь возможность работать с ним независимо от оригинала. Для этого используется оператор = или метод copy(). При копировании объекта создается новый объект, который имеет те же значения, что и оригинал, но при этом изменения в одном объекте не влияют на другой.

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

Пример поверхностного копирования:


import copy

original_list = [1, 2, [3, 4]]
copied_list = copy.copy(original_list)

original_list[2][0] = 5

print(original_list)  # [1, 2, [5, 4]]
print(copied_list)    # [1, 2, [5, 4]]

Пример глубокого копирования:


import copy

original_list = [1, 2, [3, 4]]
deep_copied_list = copy.deepcopy(original_list)

original_list[2][0] = 5

print(original_list)      # [1, 2, [5, 4]]
print(deep_copied_list)   # [1, 2, [3, 4]]

Таким образом, копирование в Python позволяет создавать независимые копии объектов, что может быть полезно при работе с данными, чтобы избежать неожиданных изменений и ошибок.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Различия символов в Python
  2. Метод ipow для возведения в степень
  3. Структура строк в Python
  4. Объединение словарей в Python
  5. Python enumerate() функции
  6. Поиск наиболее частого элемента списке
  7. Освобождение памяти в Python
  8. Рекурсия для обращения строки
  9. Реверс строки в Python
  10. Команда %dhist — список посещенных каталогов
  11. Генераторы в Python
  12. Создание виртуальной среды
  13. Работа с необработанными строками
  14. Установка пакетов с помощью pip
  15. Работа с массивами в Python
  16. Оптимизация гиперпараметров в Python
  17. Работа со строками
  18. Регистрация на хакатоне
  19. Загрузка постов Instagram
  20. Генераторы в Python
  21. Python: библиотеки и функции
  22. Расширение информации об ошибке в Python
  23. Округление чисел с помощью round
  24. Форматирование кода на Python
  25. TON Smart Challenge #2: участие и подготовка
  26. Работа с getopt
  27. Цикл for в Python
  28. *args и **kwargs в Python
  29. Повторение элементов списков
  30. Работа с URL-адресами в Python
  31. Переопределение метода divmod
  32. Принцип одной функции
  33. Работа с асинхронными задачами в Python
  34. Оптимизация памяти в Python
  35. Работа с NumPy
  36. Проверка файла .py на синтаксис.
  37. Хранение переменных в Python.
  38. Оператор continue в Python
  39. Обучение модели с указанием эпох
  40. Операторы Splat и splatty-splat
  41. Python Метод Union Множеств
  42. Получение списка кортежей из словаря
  43. Работа с YAML в Python: PyYAML.
  44. Инверсия списков и строк в Python
  45. Оптимизация памяти с помощью __slots__

Marketello читают маркетологи из крутых компаний