В Python ключевое слово global позволяет изменять переменную за пределами текущей области. В этом посте вы узнаете о данном ключевом слове, глобальной переменной и о том, когда использовать ключевые слова global в Python.

Global в Python
Ключевое слово global используется для создания глобальной переменной и внесения изменений в переменную в локальном контексте. Основные правила для ключевого слова global в Python следующие.
- Когда мы создаем переменную внутри функции, она по умолчанию является локальной.
- Когда мы определяем переменную вне функции, она по умолчанию является глобальной. Вам не нужно использовать глобальное ключевое слово.
- Мы используем ключевое слово global для чтения и записи глобальной переменной внутри функции.
- Вне функции глобальное ключевое слово не используется.
Рассмотрим пример ключевого слова global.
|
1 2 3 4 5 6 7 |
# app.py def myLocalFunc(): global site site = 'AppDividend' myLocalFunc() print(site) |
См. вывод ниже.

В приведенном выше примере мы определили глобальную переменную внутри функции. Тогда у нас есть доступ к этой переменной вне функции.
Поскольку мы определили переменную сайта как глобальную, мы можем получить доступ к этой переменной вне этой функции.
Доступ к глобальной переменной из функции
Давайте возьмем пример, где мы определили одну переменную вне функции. Используйте эту переменную внутри функции и посмотрите вывод ниже.
|
1 2 3 4 5 6 7 8 |
# app.py site = 'AppDividend' def myLocalFunc(): print(site) myLocalFunc() |
Смотрите вывод.

Изменение глобальной переменной внутри функции
В этом примере мы определяем одну переменную вне функции, а затем изменяем эту переменную внутри функции и видим результат этой переменной.
|
1 2 3 4 5 6 7 8 9 |
# app.py site = 'AppDividend' def myLocalFunc(): site = site + ': A Good Blog' print(site) myLocalFunc() |
Теперь, в приведенном выше примере, мы пытаемся изменить ту переменную, которая определена вне функции. Теперь эта функция не имеет доступа к внешней переменной. Мы увидим ошибку в выводе.

Изменение переменной внутри функции с ключевым словом global
Давайте возьмем пример, в котором мы изменяем глобальную переменную внутри функции, используя ключевое слово Global.
|
1 2 3 4 5 6 7 8 9 10 11 |
# app.py count = 21 def myLocalFunc(): global count count = count - 2 print(count) myLocalFunc() print(count) |
Приведенная выше программа выводит 19, потому что мы изменяем глобальную переменную напрямую, используя ключевое слово global.

Глобальные переменные в модулях Python
В Python мы создаем один модуль с именем shared.py для хранения глобальных переменных и обмена информацией между модулями Python в рамках одной и той же программы. Возьмем пример.
Теперь, сначала в этом примере, нам понадобятся три файла.
- shared.py
- app.py
- main.py
Напишите следующий код в файле shared.py.
|
1 2 3 |
# shared.py count = 21 |
В этом файле мы определили глобальную переменную с именем count и присвоили ей значение 21.
Теперь напишите следующий код в файле app.py.
|
1 2 3 4 5 |
# app.py import shared shared.count = 19 |
В этом файле мы импортировали общий файловый модуль и изменили эту переменную на 19.
Наконец, напишите следующий код в файле main.py.
|
1 2 3 4 5 6 |
# main.py import shared import app print(shared.count) |
Запустите файл с помощью следующей команды.
|
1 |
python3 main.py |
См. вывод ниже.

app.py изменяет глобальную переменную, и мы видим это в выводе. Итак, мы рассмотрели почти все варианты использования ключевого слова Global в Python.
