Sobes.tech
Back to questions
Junior — Middle
53

Каким образом реализовать копирование объектов в Python, чтобы создать их полную или поверхностную копию?

Companies where asked
Notamedia

Answer from AI

sobes.tech AI

В Python для копирования объектов используются модули copy с функциями copy() и deepcopy().

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

Пример:

import copy

original = [[1, 2], [3, 4]]
shallow = copy.copy(original)
deep = copy.deepcopy(original)

original[0][0] = 99

print(shallow)  # [[99, 2], [3, 4]] — вложенные объекты общие
print(deep)     # [[1, 2], [3, 4]] — вложенные объекты скопированы