Sobes.tech
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