все 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Сообщить о неточности