Middle+
Vorbește-mi despre modulul copy în Python. Care este diferența dintre copy și deepcopy?
sobes.tech AI
Răspuns de la AI
Modulul copy din Python oferă funcții pentru crearea de copii ale obiectelor. Funcțiile principale:
copy.copy(obj)— copie superficială.copy.deepcopy(obj)— copie profundă.
Diferența dintre copy și deepcopy:
- Copia superficială creează un nou obiect, dar obiectele imbricate din interior nu sunt copiate, ci doar referențiate de aceleași obiecte ca în original.
- Copia profundă copiază recursiv toate obiectele imbricate, creând o copie complet independentă.
Exemplu:
import copy
original = [1, [2, 3]]
shallow = copy.copy(original)
deep = copy.deepcopy(original)
original[1][0] = 'schimbat'
print(shallow) # [1, ['schimbat', 3]] — lista imbricată s-a schimbat
print(deep) # [1, [2, 3]] — copia profundă nu s-a schimbat