Sobes.tech
Back to questions
Junior — Middle
88

Знаете ли вы о модуле copy в Python и применяли ли его в своих проектах?

Companies where asked
Золотое ЯблокоЗолотое Яблоко

Answer from AI

sobes.tech AI

Модуль copy в Python используется для создания копий объектов. Он предоставляет две основные функции:

  • copy.copy() — поверхностное копирование (shallow copy), которое создает новый объект, но вложенные объекты остаются ссылками на оригинал.
  • copy.deepcopy() — глубокое копирование (deep copy), которое рекурсивно копирует все вложенные объекты, создавая полностью независимую копию.

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

import copy

original = {'a': [1, 2, 3], 'b': 4}
shallow = copy.copy(original)
deep = copy.deepcopy(original)

shallow['a'].append(4)
print(original['a'])  # Выведет [1, 2, 3, 4], так как список общий

deep['a'].append(5)
print(original['a'])  # Выведет [1, 2, 3, 4], оригинал не изменился

Это помогает избежать побочных эффектов при тестировании.