Встречается на собеседованиях • сегодня
Как в Python происходит поиск переменной по областям видимости
Поиск переменной в Python происходит по правилу LEGB (Local → Enclosed → Global → Built-in):
- Local - сначала ищет в локальной области видимости (внутри функции)
- Enclosed - если переменная не найдена, проверяет объемлющие функции (для вложенных функций)
- Global - затем ищет в глобальной области видимости модуля
- Built-in - в последнюю очередь проверяет встроенные имена (например,
print,len)
Пример:
python
x = 'global'
def outer():
x = 'enclosed'
def inner():
x = 'local'
print(x) # local
inner()
print(x) # enclosed
outer()
print(x) # globalВажно: если переменная изменяется внутри функции без объявления global или nonlocal, Python создаст новую локальную переменную.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы