Middle+
Pastāsti par copy moduli Python. Kāda ir atšķirība starp copy un deepcopy?
sobes.tech AI
Atbilde no AI
Python copy modulis nodrošina funkcijas objektu kopēšanai. Galvenās funkcijas:
copy.copy(obj)— virsmas kopija.copy.deepcopy(obj)— dziļa kopija.
Atšķirība starp copy un deepcopy:
- Virsmas kopija izveido jaunu objektu, bet iekšējie objekti tajā netiek kopēti, tie tikai norāda uz tos pašus objektus kā oriģinālā.
- Dziļa kopija rekursīvi kopē visus iekšējos objektus, radot pilnīgi neatkarīgu kopiju.
Piemērs:
import copy
original = [1, [2, 3]]
shallow = copy.copy(original)
deep = copy.deepcopy(original)
original[1][0] = 'izmainīts'
print(shallow) # [1, ['izmainīts', 3]] — iekšējais saraksts mainījās
print(deep) # [1, [2, 3]] — dziļa kopija nemainījās