← Все вопросы
NameError: name '...' is not defined — почему?
11
Питон пишет NameError: name 'summ' is not defined, хотя переменная вроде есть. В чём дело?
3 ответа
15
✓ Принятый ответ — помог автору
В 90% случаев — опечатка в имени.
Хайсер Аблаев точно, объявил sum, а вызвал summ 🤦 · 21 месяц назад
8
NameError — питон дошёл до имени, которого не знает. Причины по частоте:
- Опечатка (
sumvssumm, разный регистр —Dataиdataэто разные имена). - Используешь переменную ДО того, как присвоил ей значение.
- Забыл импорт (
math.sqrtбезimport mathдастNameError: name 'math'). - Переменная объявлена внутри функции, а используешь снаружи — у неё своя область видимости.
Проверь, что имя написано идентично и что строка с присваиванием выполняется раньше, чем строка с использованием.
5
Строка, где переменная задаётся, выполняется позже, чем та, где ты её читаешь. Или вообще в другой ветке if, которая не сработала.
Ваш ответ
Войдите, чтобы ответить на вопрос.