Junior — Middle
Prečo je dôležité používať hlboké kopírovanie objektov v programovaní?
sobes.tech AI
Odpoveď od AI
Hlboké kopírovanie objektov je dôležité, keď je potrebné vytvoriť úplne nezávislú kópiu zloženého objektu, vrátane všetkých vnorených objektov a dátových štruktúr. Povrchové kopírovanie kopíruje iba hornú úroveň, zatiaľ čo vnorené objekty zostávajú zdieľané medzi kópiami, čo môže viesť k nečakaným zmenám a chybám.
Napríklad, ak máte zoznam zoznamov a vykonáte povrchové kopírovanie, zmena vo vnorenom zozname v kópii ovplyvní originál. Hlboké kopírovanie rieši tento problém vytváraním nezávislých vnorených objektov.
V Pythone sa pre hlboké kopírovanie používa modul copy a funkcia deepcopy:
import copy
original = [[1, 2], [3, 4]]
shallow_copy = copy.copy(original)
deep_copy = copy.deepcopy(original)
shallow_copy[0][0] = 100
print(original) # [[100, 2], [3, 4]] - originál sa zmenil
deep_copy[1][1] = 200
print(original) # [[100, 2], [3, 4]] - originál sa nezmenil