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