Необязательные параметры в функциях Python и их значения по умолчанию [дубликат]

Возможный дубликат:
«Наименьшее удивление» в Python: изменяемый аргумент по умолчанию

Я немного смущен тем, как необязательные параметры работают в функциях / методах Python.

I есть следующий блок кода:

>>> def F(a, b=[]):
...     b.append(a)
...     return b
...
>>> F(0)
[0]
>>> F(1)
[0, 1]
>>>

Почему F (1) возвращает [0, 1] , а не [1]?

Я имею в виду, что происходит внутри ?

36
задан Community 23 May 2017 в 12:25
поделиться