правильно. Иногда разумнее использовать «объекты по умолчанию», чем None
оложим, у меня есть функция Pythonfoo
который принимает аргумент по умолчанию, где по умолчанию устанавливается некоторая глобальная переменная. Если я теперь изменю эту глобальную переменную перед вызовом функции, аргумент по умолчанию все равно будет установлен в исходное значение этой глобальной переменной.
Например:
x = 1
def foo(a=x):
print a
x = 2
foo()
Это печатает1
, вместо2
.
Как мне писать свой код, чтобы я мог изменить эту глобальную переменную и обновить ее по умолчанию?