Глобальные переменные
Переменная, созданная вне всех функций, называется глобальной переменной. Её может использовать весь ваш код, как внутри функции, так и вне её.
Переменная с тем же именем, созданная внутри функции, — это уже другая переменная: она локальная и существует только для использования внутри этой функции. Глобальная переменная сохраняет своё исходное значение и остаётся нетронутой.
Использование глобальной переменной
Здесь x определена вне функции, а читается внутри неё:
Вывод: полная программа на Python
x = "awesome"
def myfunc():
print("Python — " + x)
myfunc()
Локальная и глобальная
Здесь функция создаёт собственную x с тем же именем, что и у глобальной переменной:
Вывод: полная программа на Python
x = "awesome"
def myfunc():
x = "fantastic"
print("Python — " + x)
myfunc()
print("Python — " + x)
Ключевое слово global
Переменная, которую вы создаёте в функции, обычно локальная, поэтому вне этой функции её использовать нельзя. Ключевое слово global меняет это и позволяет создать глобальную переменную внутри функции. Это ключевое слово нужно и тогда, когда функция должна изменить существующую глобальную переменную.
Создание глобальной переменной внутри функции
С ключевым словом global переменная x принадлежит глобальной области видимости:
Вывод: полная программа на Python
def myfunc():
global x
x = "fantastic"
myfunc()
print("Python — " + x)
Изменение глобальной переменной внутри функции
Внутри функции global позволяет присвоить существующей глобальной переменной новое значение:
Вывод: полная программа на Python
x = "awesome"
def myfunc():
global x
x = "fantastic"
myfunc()
print("Python — " + x)