Sobes.tech
Назад к вопросам
Junior — Middle
45

Объясните назначение и использование глобальной переменной в 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, которая хранит количество вызовов.

  1. count = 0 — переменная создаётся на уровне модуля, то есть становится глобальной.
  2. В increment() используется global count, чтобы функция работала именно с внешней переменной, а не создавала локальную.
  3. count += 1 изменяет глобальное значение.
  4. print_count() просто читает текущее значение count.
  5. После двух вызовов increment() значение становится 2, и это выводится на экран.

Ключевые моменты:

  • Глобальная переменная объявляется вне функций и доступна в пределах модуля.
  • Читать глобальную переменную внутри функции можно без global.
  • Изменять глобальную переменную внутри функции можно только с global.
  • Чрезмерное использование глобальных переменных ухудшает читаемость и тестируемость кода.
  • Для передачи состояния часто лучше использовать параметры функций, возвращаемые значения, классы или объекты состояния.
  • Глобальные переменные уместны для констант, конфигурации и редких общих настроек.