В чем разница между локальной и глобальной переменной?

«В чем разница между локальной и глобальной переменной?» — вопрос из категории Основы программирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Локальная переменная объявляется внутри функции, метода или блока кода и доступна только в пределах этой области видимости.

Глобальная переменная объявляется вне каких-либо функций и доступна из любого места программы (модуля).

Пример на Python:

global_counter = 0  # Глобальная переменная

def increment():
    local_value = 10  # Локальная переменная
    global global_counter
    global_counter += local_value
    return global_counter

print(increment())  # Выведет: 10
print(global_counter)  # Выведет: 10 (глобальная изменена)
print(local_value)  # NameError: name 'local_value' is not defined
Ключевые различия: Аспект Локальная переменная Глобальная переменная
Область видимости Внутри блока, где объявлена Везде в модуле/программе
Время жизни Создается при входе в блок, уничтожается при выходе Существует всю работу программы
Доступность Только внутри своей функции Из любой функции (требует осторожности)
Использование Для временных данных внутри алгоритма Для хранения состояния, общего для нескольких функций

Почему важно: Чрезмерное использование глобальных переменных усложняет понимание кода, тестирование и leads to side effects, так как любая функция может их изменить. Локальные переменные инкапсулируют состояние.