правильно. Иногда разумнее использовать «объекты по умолчанию», чем None

оложим, у меня есть функция Pythonfoo который принимает аргумент по умолчанию, где по умолчанию устанавливается некоторая глобальная переменная. Если я теперь изменю эту глобальную переменную перед вызовом функции, аргумент по умолчанию все равно будет установлен в исходное значение этой глобальной переменной.

Например:

x = 1

def foo(a=x):
    print a

x = 2
foo()

Это печатает1, вместо2.

Как мне писать свой код, чтобы я мог изменить эту глобальную переменную и обновить ее по умолчанию?

Ответы на вопрос(1)

Ваш ответ на вопрос