Опишите порядок поиска переменной по именам (правило LEGB).
Уровень: Senior
Ответ
При обращении к имени в Python поиск происходит в таком порядке: L – Local (локальная область функции), E – Enclosed (нелокальная – в объемлющих функциях, для вложенных функций), G – Global (глобальная – в модуле), B – Built-in (встроенная – в пространстве встроенных имен, например, len, str). Как только имя найдено на одном из уровней, дальше поиск не идёт. Это называется правилом LEGB. Например, внутри функции Python сначала ищет имя среди локальных переменных, потом – в переменных внешних функций, затем в глобальных переменных модуля и наконец во встроенных.