Объясните назначение и использование глобальной переменной в Python.
Ответ от нейросети
sobes.tech AI
Что хотят услышать интервьюеры:
Глобальная переменная — это переменная, доступная из разных частей программы, а не только внутри одной функции. В Python она полезна для общих настроек и состояния, но требует аккуратного использования, чтобы не усложнять отладку и поддержку. Внутри функции изменение глобальной переменной требует явного объявления global.
Определение:
Глобальная переменная в Python — это переменная, объявленная в модуле на верхнем уровне, вне функций и классов. Она находится в области видимости модуля и может читаться из функций без дополнительных действий. Если нужно изменять её значение внутри функции, используется ключевое слово global.
Пример использования:
count = 0 # глобальная переменная
def increment():
global count
count += 1
def print_count():
print(count)
increment()
increment()
print_count() # 2
Пояснение кода:
Код показывает общую переменную count, которая хранит количество вызовов.
count = 0— переменная создаётся на уровне модуля, то есть становится глобальной.- В
increment()используетсяglobal count, чтобы функция работала именно с внешней переменной, а не создавала локальную. count += 1изменяет глобальное значение.print_count()просто читает текущее значениеcount.- После двух вызовов
increment()значение становится2, и это выводится на экран.
Ключевые моменты:
- Глобальная переменная объявляется вне функций и доступна в пределах модуля.
- Читать глобальную переменную внутри функции можно без
global. - Изменять глобальную переменную внутри функции можно только с
global. - Чрезмерное использование глобальных переменных ухудшает читаемость и тестируемость кода.
- Для передачи состояния часто лучше использовать параметры функций, возвращаемые значения, классы или объекты состояния.
- Глобальные переменные уместны для констант, конфигурации и редких общих настроек.