Копирование в программировании
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 можно прочитать здесь
Теория | |
Программирование | |
Boilerplate код | |
LBYL vs EAFP | |
Время работы алгоритма |