Копирование в программировании

Содержание
Deep copy
Shallow copy
Похожие статьи

Deep copy

Полная или глубокая копия - это отдельный объект с такими же значениями как у оригинала, но больше с ним никак не связанный

Преположим есть объект A

A = [1, 2, 3]

Если сделать глубокую копию A → B

A = B = [1, 2, 3]

Объекты равны, но если помять значения в A это никак не скажется на B

A[0] = 4
A[1] = 5
A[2] = 6

A = [4, 5, 6]

B = [1, 2, 3]

B было копией A а теперь значения не совпадают и это нормально

Shallow copy

Неполная или поверхностная копия объекта

Рассмотрим снова объект A

A = [4, 5, 6]

Если сделать поверхностную копию A → С

С = [4, 5, 6]

С равно A и если теперь поменять значение A значение C тоже изменится так как у поверхностной копии нет своих элементов, она просто указывает на элементы A

A[0] = 7
A[1] = 8
A[2] = 9

A = [7, 8, 9]
С = [7, 8, 9]

Про функцию copy() в Python можно прочитать здесь

Article author: Andrei Olegovich

Похожие статьи
Теория
Программирование
Boilerplate код
LBYL vs EAFP
Время работы алгоритма

Search this site

Subscribe to Telegram channel @aofeed to follow new articles and updates to old ones

Go to channel

@aofeed

Ask a question in the Telegram group

@aofeedchat

Contacts and cooperation:
I recommend our hosting beget.ru
Write to info@urn.su if you:
1. Want to write an article for our site or translate an article into your native language.
2. Want to place thematically relevant ads on the site.
3. Ads on my site pass maximum censorship. If you see an ad block unsuitable for school-age children, shocking or misleading - please contact us by e-mail
4. Found a mistake, inaccuracy, bug, etc. on the site. ... .......
5. Articles can be shared on social media by clicking a network icon: