Что такое глубокая и поверхностная копии? Для чего они нужны?
⚫ Поверхностная копия создаёт новый объект, который содержит ссылки на внутренние объекты из оригинала. Если вы измените внутренние объекты оригинала, эти изменения отразятся и в поверхностной копии. Поверхностное копирование полезно, когда вы хотите создать новый экземпляр коллекции, но сохранить элементы коллекции неизменными. Это copy.copy(x).
⚫ Глубокая копия, напротив, создаёт новый объект и рекурсивно копирует все внутренние объекты, найденные в оригинале. В результате, внутренние объекты глубокой копии являются полностью независимыми от оригинальных объектов. Это полезно, когда нужно, чтобы исходный объект и его копия были полностью изолированы друг от друга. Это copy.deepcopy(x).
⚫ Поверхностная копия создаёт новый объект, который содержит ссылки на внутренние объекты из оригинала. Если вы измените внутренние объекты оригинала, эти изменения отразятся и в поверхностной копии. Поверхностное копирование полезно, когда вы хотите создать новый экземпляр коллекции, но сохранить элементы коллекции неизменными. Это copy.copy(x).
⚫ Глубокая копия, напротив, создаёт новый объект и рекурсивно копирует все внутренние объекты, найденные в оригинале. В результате, внутренние объекты глубокой копии являются полностью независимыми от оригинальных объектов. Это полезно, когда нужно, чтобы исходный объект и его копия были полностью изолированы друг от друга. Это copy.deepcopy(x).