Sobes.tech
Junior

Hangi nesne kopyalama yöntemlerini biliyorsunuz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Yüzeysel ve derin kopya.

Yüzeysel Kopya (Shallow Copy), yeni bir nesne oluşturur, ancak iç içe geçmiş nesnelere olan referanslar aynı kalır. Orijinal nesnenin iç içe nesnelerinde yapılan değişiklikler, kopyada da yansır ve tersi de geçerlidir.

Derin Kopya (Deep Copy), nesnenin tamamen bağımsız bir kopyasını oluşturur, tüm iç içe nesnelerin kopyasını da içerir. Orijinal nesnenin iç içe nesnelerinde yapılan değişiklikler, kopyayı etkilemez.

Uygulama örnekleri (Python):

# Yüzeysel kopya
import copy

orijinal_liste = [1, 2, [3, 4]]
Yuzeysel_kopya_liste = copy.copy(orijinal_liste)

# Orijinalde iç içe nesne üzerinde yapılan değişiklik, kopyayı etkiler
orijinal_liste[2][0] = 99
# Yuzeysel_kopya_liste artık [1, 2, [99, 4]]
# Derin kopya
import copy

orijinal_liste = [1, 2, [3, 4]]
Derin_kopya_liste = copy.deepcopy(orijinal_liste)

# Orijinalde iç içe nesne üzerinde yapılan değişiklik, kopyayı etkilemez
orijinal_liste[2][0] = 99
# Derin_kopya_liste hâlâ [1, 2, [3, 4]]

Yöntem seçimi, nesnenin yapısına ve göreve bağlıdır. İç içe referanslar olmayan basit nesneler için yüzeysel kopya yeterlidir. Karmaşık yapıya sahip nesneler veya kopyanın orijinalden tamamen bağımsız olması gerekiyorsa, derin kopya kullanılır.