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