30
„Najmniejsze zdziwienie” i zmienny argument domyślny
Każdy, kto majstruje przy Pythonie wystarczająco długo, został ugryziony (lub rozdarty na kawałki) przez następujący problem: def foo(a=[]): a.append(5) return a Nowicjusze Python oczekiwałby to funkcja zawsze zwraca listę z tylko jednego elementu: [5]. Rezultat jest natomiast zupełnie inny i bardzo zadziwiający (dla nowicjusza): >>> foo() [5] >>> foo() [5, …