Junior — Middle
Kun je uitleggen wat het verschil is tussen een diepe kopie en een oppervlakkige kopie van een object?
sobes.tech AI
Antwoord van AI
Shallow copy (oppervlakkige kopie) maakt een nieuw object aan, maar de geneste objecten binnenin worden niet gekopieerd, ze verwijzen gewoon naar dezelfde objecten als in het origineel. Dit betekent dat wijzigingen in de geneste objecten ook in de kopie zichtbaar worden.
Deep copy (diepe kopie) maakt een volledig onafhankelijke kopie van het object samen met alle geneste objecten, recursief. Wijzigingen in de kopie beïnvloeden het origineel niet.
Voorbeeld in Python:
import copy
origineel = [1, [2, 3]]
shallow = copy.copy(origineel)
deep = copy.deepcopy(origineel)
shallow[1][0] = 'veranderd'
print(origineel) # [1, ['veranderd', 3]] — het origineel is ook veranderd
deep[1][0] = 'diep_veranderd'
print(origineel) # [1, ['veranderd', 3]] — het origineel is niet veranderd