Sobes.tech
Middle+

Python'da copy modülü hakkında bana bilgi ver. copy ile deepcopy arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Python'da copy modülü, nesnelerin kopyalarını oluşturmak için fonksiyonlar sağlar. Ana fonksiyonlar:

  • copy.copy(obj) — yüzeysel kopya.
  • copy.deepcopy(obj) — derin kopya.

copy ve deepcopy arasındaki fark:

  • Yüzeysel kopya, yeni bir nesne oluşturur, ancak iç içe geçmiş nesneler kopyalanmaz, sadece orijinaldeki nesnelere referans edilir.
  • Derin kopya, tüm iç içe nesneleri özyinelemeli olarak kopyalar ve tamamen bağımsız bir kopya oluşturur.

Örnek:

import copy

orijinal = [1, [2, 3]]
shallow = copy.copy(orijinal)
deep = copy.deepcopy(orijinal)

orijinal[1][0] = 'değişti'

print(shallow)  # [1, ['değişti', 3]] — iç içe liste değişti
print(deep)     # [1, [2, 3]] — derin kopya değişmedi