LEGB — области видимости
Python
Middle
Сбербанк
Расскажите про правило LEGB (Local, Enclosing, Global, Built-in) в Python. Как происходит поиск имени переменной?
Ответы
LEGB
LEGB — порядок поиска имён:
L — Local: локальная область функции.
E — Enclosing: локальные области внешних (замыкающих) функций.
G — Global: область модуля.
B — Built-in: встроенные имена (len, print, и т.д.).
При обращении к имени Python ищет его последовательно в этих областях, начиная с Local.
Пример с вложенными функциями:
```python
x = "global"
def outer():
x = "enclosing"
def inner():
x = "local"
print(x)
inner()
```