Middle
20
0
questionbank

Как в Python осуществляется поиск переменной с учётом области видимости?

Answer from sobes.tech neural network

В Python поиск переменной осуществляется по правилу LEGB.

  • Local (L): Проверяется текущая функция или метод.
  • Enclosing Function Locals (E): Проверяется область видимости объемлющей функции (для вложенных функций).
  • Global (G): Проверяется модуль, в котором находится код.
  • Built-in (B): Проверяется встроенная область видимости Python (функции типа len, print и т.д.).

Интерпретатор ищет имя переменной последовательно в этих областях видимости, начиная с локальной. Как только имя найдено, поиск прекращается. Если имя не найдено ни в одной из областей видимости, генерируется ошибка NameError.

python

В Python поиск переменной осуществляется по правилу LEGB.

  • Local (L): Проверяется текущая функция или метод.
  • Enclosing Function Locals (E): Проверяется область видимости объемлющей функции (для вложенных функций).
  • Global (G): Проверяется модуль, в котором находится код.
  • Built-in (B): Проверяется встроенная область видимости Python (функции типа len, print и т.д.).

Интерпретатор ищет имя переменной последовательно в этих областях видимости, начиная с локальной. Как только имя найдено, поиск прекращается. Если имя не найдено ни в одной из областей видимости, генерируется ошибка NameError.

python

Register or sign in to get access to full answers for all questions from the question bank.

scopevariable-lookupnamespaceslocal-scopeglobal-scopebuiltins