Курс 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"
- Работа с GitHub в Telegram
- Сериализация данных в JSON с помощью json.dumps
- Удаление falsy-значений из списка с помощью filter
- Подписка на @SelectelNews
- Порядок операций в Python
- Передача параметров в Python
- Поиск подстроки в строке
- Вычисление натуральных логарифмов в NumPy
- Использование defaultdict в Python
- Списки: объединение, изменение
- Сложение матриц в NumPy
- Работа с collections в Python.
- Логирование с Logzero
- Управление доступом к модулю
- Управление виртуальными окружениями в Python
- Оператор += в Python
- Проблема сравнения словарей
- Функция eval() в Python
- Получение размера объекта с sys.getsizeof()
- Numpy: разбиение массивов
- Обрезка изображения с Pillow
- Вложенные генераторы в Python
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Подписка на SelectelNews в Twitter
- Создание словарей и множеств в Python
- Очистка данных в Python
- Работа со словарями с defaultdict из collections
- Создание и операции с дробями
- Работа с изображениями PIL
- Работа с утверждениями в Python
- %pinfo: получение информации об объекте
- Преобразование текста в нижний регистр
- Оценка точности модели
- Генерация UUID в Python
- Тестирование модели в PyTorch
- Метод rrshift для пользовательских объектов
- Применение функции map() в Python
- Оператор «or» в Python
- Ввод нескольких значений
- Имена объектов в Python
- Поиск кода
- Использование подчеркивания в REPL
- Генераторы списков в Python
- Удаление файлов с shutil.os.remove()
- Простой калькулятор Python
- Транспонирование 2D-массива с помощью zip















