刚开始学 Python,很多人都有过这种经历:代码看着没问题,点击运行,下面突然冒出来一大片红色报错。
尤其是刚入门的时候,看到 SyntaxError、TypeError 这些英文就头大,甚至不知道应该从哪里开始改。
其实 Python 报错没那么可怕。很多错误反反复复就是那么几种,先学会看懂报错,比一报错就复制到网上搜索更重要。
1、SyntaxError:语法写错了
这是新手最常遇到的错误之一。
比如括号没有闭合、字符串少了引号、if 后面忘记加冒号,都可能出现 SyntaxError。遇到这种情况,不要只盯着报错那一行,上一行代码也要一起检查。
2、IndentationError:缩进不对
Python 对缩进要求比较严格。
if、for、while、函数等代码块下面,都需要正确缩进。如果有的地方用了 Tab,有的地方用了空格,也可能出现问题。
3、NameError:变量找不到
例如你写了:
print(username)
但前面根本没有定义 username,程序自然不知道它是什么。另外还要注意大小写,name 和 Name 在 Python 里并不是同一个变量。
4、TypeError:数据类型不匹配
比如:
"今年" + 2026
字符串不能直接和整数这样拼接,可以先使用 str(2026) 转换类型。
5、IndexError:索引超出范围
Python 列表索引从0开始。一个只有3个元素的列表,只能访问 0、1、2,如果访问 [3],就会报错。
6、KeyError:字典中没有这个键
使用字典时,如果访问了一个不存在的 key,就可能出现 KeyError。不确定键是否存在时,可以先判断,或者使用 .get()。
7、FileNotFoundError:文件找不到
这个报错很多时候不是文件真的没了,而是路径写错了,或者程序当前运行目录与你以为的不一样。遇到后优先检查文件名、路径和运行目录。
8、ModuleNotFoundError:模块找不到
一般有两种常见情况:库根本没安装,或者库安装到了另一个 Python 环境。所以明明执行过 pip install,依然有可能 import 失败。
其实学 Python,遇到报错是再正常不过的事情。
下次看到一大片红色提示,不要急着把代码全部删掉。先看报错最后一行是什么错误,再根据行号找到对应代码。
慢慢你会发现,能看懂报错以后,很多问题自己几分钟就能解决。