Middle+
Python-da copy modulundan danış. copy və deepcopy arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Python-də copy modulu obyektlərin nüsxələrini yaratmaq üçün funksiyalar təqdim edir. Əsas funksiyalar:
copy.copy(obj)— səthi nüsxə.copy.deepcopy(obj)— dərin nüsxə.
copy və deepcopy arasındakı fərq:
- Səthi nüsxə yeni obyekt yaradır, lakin iç içə olan obyektlər nüsxələnmir, sadəcə orijinaldakı kimi obyektlərə istinad edir.
- Dərin nüsxə rekursiv olaraq bütün iç içə obyektləri nüsxələyir və tam müstəqil nüsxə yaradır.
Misal:
import copy
original = [1, [2, 3]]
shallow = copy.copy(original)
deep = copy.deepcopy(original)
original[1][0] = 'dəyişdi'
print(shallow) # [1, ['dəyişdi', 3]] — iç içə siyahı dəyişdi
print(deep) # [1, [2, 3]] — dərin nüsxə dəyişməyib