İçeriğe geç

Değiştirilebilir varsayılan argüman (ARCH2194)

Anahtar python.quality.mutable-default-arg · Önem warning · Kategori quality

Python varsayılan argümanları tanım anında bir kez değerlendirilir; değiştirilebilir bir varsayılan tüm çağrılar arasında paylaşılır ve klasik bir hataya yol açar. Bunun yerine None kullanın.

def add_item(item, bucket=[]):
bucket.append(item)
return bucket
def add_item(item, bucket=None):
if bucket is None:
bucket = []
bucket.append(item)
return bucket

Varsayılanı None yapın ve gövdede yeni değiştirilebilir nesneyi oluşturun.