Skip to content

NameError:名称未定义

错误信息

                name 'x' is not defined
              

快速摘要

你用了一个 Python 不认识的名字——变量没赋值、函数没定义、模块没导入,或拼写错了。

为什么发生

  • 变量在使用前没有赋值

  • 函数或类没有定义就被调用

  • 模块没有 import 就使用了其中的名字

  • 名字拼写错误,如把 count 写成 cont

最小示例

✗ 错误代码
print(count)
✓ 修复代码
count = 10
print(count)

count 在被引用前未定义。先 count = 10 赋值,再 print 就不会报 NameError。

如何诊断

  • 阅读错误信息中单引号里的名字

  • 在代码中搜索该名字,确认是否定义过、拼写是否一致

  • 检查是否漏了 import 语句

如何修复

  • 在使用前先赋值或定义该名字

  • 补上缺失的 import 语句

  • 修正拼写错误,使引用与定义一致

如何预防

  • 使用带自动补全和跳转定义的编辑器(如 VS Code + Pylance)

  • 启用 flake8/ruff 检测未定义的引用(F821)

相关资源

相关课程

相关练习

← 返回语言