Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад

Как в 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

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

#scope

#variable

#namespace

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

  • Аватар

    Python Guru

    Sergey Filichkin

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