Глобальная переменная в Python

Гглобальная переменная в Python

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

Введение

Ключевое слово global в Python объявляет одну или несколько переменных глобальными. Этот оператор используется только в функциях.

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

Использование локальных переменных

def hello_user():
    name = "Egor"
    print(f"hello {name}")

hello_user()
print(f"hi {name}")

Выходные данные

hello Egor
NameError: name 'name' is not defined

Пытаясь получить доступ к переменной, которая была создана внутри функции (локальная переменная) вне функции, вы получаете ошибку NameError, потому что эта переменная не известна в глобальной области видимости.

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

Глобальная переменная в функции

Для создания глобальной переменной в функции мы используем оператор global:

def hello_user():
    global name
    name = "Egor"
    print(f"hello {name}")

hello_user()
print(f"hi {name}")

Выходные данные

hello Egor
hi Egor

Обратите внимание, что без global name строка print(f»hi {name}») привела бы к ошибке.

Изменение глобальной переменной в функции

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

Пример попытки модификации глобальной переменной в функции:

a = 1

def plus_one():
    a = a + 1
    print(a)

plus_one()

Выходные данные

UnboundLocalError: local variable 'a' referenced before assignment

Используемый оператор global для исправления ошибки доступа к переменной

a = 1

def plus_one():
    global a
    a = a + 1
    print(a)

plus_one()

Выходные данные

2

Обратите внимание, что глобальная переменная a не создает новую глобальную переменную a, поскольку она уже существует. Она только предоставляет функции доступ к переменной a для модификации или использования.

Заключение

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

Егор Егоров

Программирую на Python с 2017 года. Люблю создавать контент, который помогает людям понять сложные вещи. Не представляю жизнь без непрерывного цикла обучения, спорта и чувства юмора.

Ссылка на мой github есть в шапке. Залетай.

Оцените автора
Егоров Егор
Добавить комментарий