Middle+
Python'da copy modul haqida gapir. copy va deepcopy o'rtasidagi farq nima?
sobes.tech AI
AIdan javob
Python'da copy moduli obyektlarning nusxalarini yaratish uchun funksiyalar taqdim etadi. Asosiy funksiyalar:
copy.copy(obj)— yuzaki nusxa.copy.deepcopy(obj)— chuqur nusxa.
copy va deepcopy o'rtasidagi farq:
- Yuzaki nusxa yangi obyekt yaratadi, lekin ichki obyektlar nusxalanmaydi, ular faqat asl obyektlardagi kabi referenslar bo'lib qoladi.
- Chuqur nusxa rekursiv ravishda barcha ichki obyektlarni nusxalaydi va to'liq mustaqil nusxa yaratadi.
Misol:
import copy
original = [1, [2, 3]]
shallow = copy.copy(original)
deep = copy.deepcopy(original)
original[1][0] = 'o`zgartirildi'
print(shallow) # [1, ['o`zgartirildi', 3]] — ichki ro`yxat o`zgardi
print(deep) # [1, [2, 3]] — chuqur nusxa o`zgarmadi