Middle+
Ispričaj mi o modulu copy u Pythonu. Koja je razlika između copy i deepcopy?
sobes.tech АИ
Одговор од АИ
Modul copy u Pythonu pruža funkcije za kreiranje kopija objekata. Glavne funkcije:
copy.copy(obj)— površinska kopija.copy.deepcopy(obj)— duboka kopija.
Razlika između copy i deepcopy:
- Površinska kopija kreira novi objekat, ali ugnježdeni objekti unutar njega se ne kopiraju, već se samo referenciraju na iste objekte kao i u originalu.
- Duboka kopija rekurzivno kopira sve ugnježdene objekte, stvarajući potpuno nezavisnu kopiju.
Primer:
import copy
original = [1, [2, 3]]
shallow = copy.copy(original)
deep = copy.deepcopy(original)
original[1][0] = 'izmenjeno'
print(shallow) # [1, ['izmenjeno', 3]] — ugnježdena lista se promenila
print(deep) # [1, [2, 3]] — duboka kopija se nije promenila