Python Glossary English

все Python 3Исключенияисключение

NameError

встроенные исключения

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

Синтаксис

raise NameError('сообщение')

Обычно за ним стоит опечатка либо обращение к переменной раньше её присваивания. Отдельно стоит знать подкласс UnboundLocalError: если имя где-то присваивается внутри функции, оно считается локальным во всём теле, и чтение до присваивания не подхватит глобальную переменную, а упадёт. Начиная с Python 3.10 интерпретатор подсказывает похожие имена («Did you mean ...»), что почти всегда мгновенно вскрывает опечатку.

Примеры

print(x)             # NameError: name 'x' is not defined
def f():
    return undefined_var  # NameError

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности