Sobes.tech
Middle+

Vertel me over de copy-module in Python. Wat is het verschil tussen copy en deepcopy?

sobes.tech AI

Antwoord van AI

De copy-module in Python biedt functies om kopieën van objecten te maken. Belangrijkste functies:

  • copy.copy(obj) — oppervlakkige kopie.
  • copy.deepcopy(obj) — diepe kopie.

Verschil tussen copy en deepcopy:

  • Een oppervlakkige kopie maakt een nieuw object, maar de geneste objecten binnenin worden niet gekopieerd, ze verwijzen gewoon naar dezelfde objecten als in het origineel.
  • Een diepe kopie kopieert recursief alle geneste objecten, waardoor een volledig onafhankelijke kopie ontstaat.

Voorbeeld:

import copy

original = [1, [2, 3]]
shallow = copy.copy(original)
deep = copy.deepcopy(original)

original[1][0] = 'veranderd'

print(shallow)  # [1, ['veranderd', 3]] — geneste lijst is veranderd
print(deep)     # [1, [2, 3]] — diepe kopie is niet veranderd