Возможный дубликат:
«Наименьшее удивление» в Python: изменяемый аргумент по умолчаниюЯ немного смущен тем, как необязательные параметры работают в функциях / методах Python.
I есть следующий блок кода:
>>> def F(a, b=[]): ... b.append(a) ... return b ... >>> F(0) [0] >>> F(1) [0, 1] >>>
Почему
F (1)
возвращает[0, 1]
, а не[1]
?Я имею в виду, что происходит внутри ?