Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: scope, legb, local, global, enclosing

Какие области видимости переменных есть в Python?

Этот вопрос проверяет знание различных типов областей видимости в Python, а также принцип работы механизма поиска переменных.

Короткий ответ

В Python существуют четыре области видимости: Local (локальная), Enclosing (внешняя), Global (глобальная) и Built-in (встроенная). Правило LEGB (Local, Enclosing, Global, Built-in) описывает порядок, в котором Python ищет переменные в этих областях.

Длинный ответ

Python использует систему областей видимости, которая описывается принципом LEGB (Local, Enclosing, Global, Built-in). Это порядок, в котором Python ищет переменную в различных областях видимости:

  • Local (Локальная область): Переменная ищется сначала в локальной области, т.е. в области текущей функции или метода. Если переменная объявлена внутри функции, Python будет искать ее в этой области.

  • Enclosing (Внешняя область): Если переменная не найдена в локальной области, Python будет искать ее в области видимости внешней функции, которая может быть вложена в текущую. Это актуально для вложенных функций, где внешняя функция имеет свои переменные.

  • Global (Глобальная область): Если переменная не найдена ни в локальной, ни в внешней области, Python будет искать ее в глобальной области, то есть в пространстве имен модуля, в котором выполняется код.

  • Built-in (Встроенная область): Встроенные имена (например, print(), len(), и другие встроенные функции) находятся в этой области. Если переменная не найдена в предыдущих областях, Python будет искать ее среди встроенных объектов.

Пример:

x = 10  # Global

def outer():
    	x = 20  # Enclosing

    	def inner():
        	x = 30  # Local
        	print(x)  # Выведет 30, так как это локальная переменная
    	inner()

outer()

Когда использовать:

  • Знание областей видимости полезно при работе с переменными и функциями, особенно для понимания, какие переменные доступны и как они ищутся.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    3

  • Сложность:

    6

Навыки

  • Python

    Python

Ключевые слова

#scope

#legb

#local

#global

#enclosing

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.