Выбрать город
Программирование: концепции9-11 кл.

Миф или правда

Правда ли, что одно имя — одна переменная на всю программу?

Миф

Одно имя — одна переменная на всю программу

На самом деле

Нет: локальные переменные с одинаковыми именами в разных функциях — независимые ячейки.

Область видимости — что это на самом деле

Часть программы, где действует имя переменной. Локальная объявлена внутри функции: видна только в ней и исчезает при выходе; глобальная видна во всей программе. Одинаковые имена в разных функциях — разные, независимые переменные. В Scratch то же: переменная «для всех спрайтов» или «только для этого».

Область текста программы, где имя связано со своим объектом. Python ищет имя по правилу LEGB: локальная → объемлющая → глобальная → встроенная; присваивание в функции создаёт локальное имя, если нет объявления global/nonlocal. В C++…

Аналогия: Вещи в доме: то, что в твоей комнате, видно только из неё, а вещи в прихожей — из любой комнаты.

Полное определение →

Это понятие вводят примерно 15-17 лет (9-11 класс).

Связанные термины

← Все мифы и факты