Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
07 Июл 2023
2 мин
3936

Использование глобальных переменных в функциях

Иногда возникает необходимость в использовании глобальных переменных в функциях. Глобальная переменная — это такая переменная, которая определена

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

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

Типичная проблема

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

x = 10

def change_x():
    x = 5

change_x()
print(x)

В данном случае ожидается, что переменная x изменит свое значение на 5 после вызова функции change_x(). Однако, когда программа выводит значение x с помощью print(x), оно все еще равно 10. Почему так происходит?

Пояснение

Проблема возникает из-за области видимости переменных в Python. Когда в функции создается переменная с тем же именем, что и глобальная переменная, Python предполагает, что это новая локальная переменная, которая существует только внутри функции.

Курсы по программированию
Помогаем получить новую профессию с гарантией трудоустройства!
Подробнее
Курсы по программированию

Решение

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

x = 10

def change_x():
    global x
    x = 5

change_x()
print(x)

Теперь, когда функция change_x() вызывается, она изменяет глобальную переменную x на 5, и print(x) выводит 5.

Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.

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

Глобальные переменные также можно использовать в других функциях. Например:

x = 10

def print_x():
    print(x)

print_x()

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

Но стоит помнить, что чрезмерное использование глобальных переменных может усложнить отладку и поддержку программы, поскольку они могут быть изменены в любом месте программы.

Тест на профориентацию
За 10 минут узнайте, как ваш опыт пригодиться в IT индустрии
Подробнее
Тест на профориентацию

Добавить комментарий