По порядку Junior Функции и области видимости обновлено

Порядок поиска имён LEGB

Вопрос

Расставьте области в том порядке, в котором Python ищет имя внутри вложенной функции.

Попробуйте сами

Расставьте шаги по порядку стрелками.

  1. 1
    Области охватывающих функций
  2. 2
    Локальная область текущей функции
  3. 3
    Встроенные имена (builtins)
  4. 4
    Глобальная область модуля
Показать ответ и разбор

Коротко

Это правило LEGB: Local, Enclosing, Global, Built-in. Поэтому локальная переменная перекрывает глобальную, а глобальная list перекрывает встроенный тип.

Правильный порядок

  1. 1
    Локальная область текущей функции
  2. 2
    Области охватывающих функций
  3. 3
    Глобальная область модуля
  4. 4
    Встроенные имена (builtins)

Разбор

Это правило LEGB: Local, Enclosing, Global, Built-in. Поэтому локальная переменная перекрывает глобальную, а глобальная list перекрывает встроенный тип.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.