Varsayılan argüman olarak liste vermek neden tehlikelidir?
Cevap
Varsayılan değerler fonksiyon tanımlandığında bir kez oluşturulur. Mutable bir varsayılan, çağrılar arasında paylaşılır.
def ekle(x, liste=[]):
liste.append(x)
return liste
ekle(1) # [1]
ekle(2) # [1, 2] ← beklenmedik
# Doğrusu
def ekle(x, liste=None):
if liste is None:
liste = []
liste.append(x)
return listeİlgili Python soruları
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.