Sobes.tech
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