Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: scope, variable, namespace

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

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

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

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

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

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

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

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

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

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

Пример:

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

  • Сложность:

    5

Навыки

  • Python

    Python

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

#scope

#variable

#namespace

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

  • Аватар

    Python Guru

    Sergey Filichkin

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