Какие знаешь области видимости
Python
Middle
Без компании
Какие знаешь области видимости
Ответы
В Python есть 4 области видимости (LEGB):
- **Local** - переменные внутри функции
- **Enclosing** - переменные во внешних функциях (для вложенных функций)
- **Global** - переменные на уровне модуля
- **Built-in** - встроенные функции и исключения
Пример:
```
x = 'global' # Global
def outer():
y = 'enclosing' # Enclosing
def inner():
z = 'local' # Local
print(z) # local
print(y) # enclosing
print(x) # global
print(len) # built-in
inner()
```
Поиск переменных происходит в порядке LEGB. Ключевые слова `global` и `nonlocal` позволяют изменять переменные из внешних областей.