В Python, как и в других языках, глобальные переменные можно использовать в функциях. Но, как всегда, здесь новичок может напороться на неожиданности и труднонаходимые ошибки (ну как тут не вспомнить мой любимый Паскаль, где ничего такого сделать просто невозможно, во всяком случае случайно))).
Итак, вот пример кода:
Здесь я использовал идентификатор, состоящий из русских букв. Это для лучшего понимания. В Python (а также и некоторых других, таких как C# и JavaScript) это допускается, хотя и не приветствуется.
Что в этом коде не так? Почему значение глобальной переменной не изменилось при вызове функции?
А потому что в функции по умолчанию используются локальные переменные. И даже если есть глобальная переменная с таким же именем, то в функции она будет переопределена. То есть ГлобальнаяПеременная в теле функции - это совершенно другая переменная, которая не имеет отношение к той, которая объявлена перед функцией.
Но что делать, если мы хотим в теле функции изменить именно глобальную переменную? Можно, например, передать её в качестве параметра и при вызове функции результат записать в глобальную переменную.
Но если такой вариант не подходит, то можно это сделать и внутри функции, используя инструкцию global:
Теперь всё будет работать как и задумывалось. Но и это ещё не всё. Почему-то в Python нельзя сделать так:
И кто только этот язык придумал ))))
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.