LINUX.ORG.RU

История изменений

Исправление Aswed, (текущая версия) :

Ну тут все просто, если где-то в функции есть присвоение «x», то «х» считается локальной переменной для всей функции. Почему? Мб оптимизационные задачи. Мб что б небыло говна как js, когда ты опечатался а компилятор все равно выполнит код, результат будет почти наверняка не правильным, но ведь не падает, смотри как надежно!1!111!. Мб потому что одновременное использование переменной с одним именем в функции как локальную и как глобальную неподерживаемый говнокод и выстрел себе в ногу из дробовика в недалеком будущем.
Если же твой вопрос, «как присваивать глобальной переменной значение в функции?», то гугли global и nonlocal.

Исходная версия Aswed, :

Ну тут все просто, если где-то в функции есть присвоение «x», то «х» считается локальной переменной для всей функции. Почему? Мб оптимизационные задачи. Мб что б небыло говна как js, когда ты опечатался а компилятор все равно выполнит код, результат будет почти наверняка не правильным, но ведь не падает, смотри как надежно!1!111!. Мб потому что одновременное использование переменной с одним именем в функции как локальную и как глобальную неподерживаемый говнокод и выстрел себе в ногу из дробовика в недалеком будущем.