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
  1. list ve tuple arasındaki fark nedir?KolayPythonBackend
  2. Decorator nedir? Basit bir zamanlama decorator'ı yazın.OrtaPythonBackend
  3. Generator nedir, yield ne yapar?OrtaPythonBackend
  4. GIL nedir ve çoklu iş parçacığını nasıl etkiler?ZorPythonBackend

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle