Ответ
Локальная переменная объявляется внутри функции, метода или блока кода и доступна только в пределах этой области видимости.
Глобальная переменная объявляется вне каких-либо функций и доступна из любого места программы (модуля).
Пример на 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, так как любая функция может их изменить. Локальные переменные инкапсулируют состояние.