Sobes.tech
Back to questions
Junior — Middle
52

Можешь описать, как работают области видимости переменных в Python?

Companies where asked
РунитиРунити

Answer from AI

sobes.tech AI

В Python области видимости переменных определяют, где именно в коде переменная доступна. Основные области:

  • Локальная (local): переменные, объявленные внутри функции или метода, доступны только внутри неё.
  • Вложенная (enclosing): если функция вложена в другую функцию, внутренняя функция может видеть переменные внешней функции.
  • Глобальная (global): переменные, объявленные на уровне модуля (файла), доступны во всём модуле.
  • Встроенная (built-in): имена, определённые в стандартной библиотеке Python.

При обращении к переменной Python ищет её в порядке: локальная → вложенная → глобальная → встроенная.

Пример:

def outer():
    x = 'внешняя'
    def inner():
        print(x)  # обращение к переменной из enclosing scope
    inner()

outer()

Здесь inner видит переменную x из функции outer.