

今天的Python基础篇知识是将常见异常类型做一个汇总,认识常见异常类型,对于我们纠正程序报错的能力有一个定位性作用。

1. 语法错误(SyntaxError)
报错说明:其代码语法不符合Python规则,程序无法启动运行。
常见原因:少写冒号(if、for、def后)、缩进不一致、引号不闭合、关键字拼写错误。
# 错误案例:if语句后少写冒号if 5 > 3print("5大于3")# 报错信息:SyntaxError: expected ':'# 解决方案:在if语句后添加冒号if 5 > 3:print("5大于3")
2. 名称错误(NameError)
报错说明:使用了未定义的变量、函数或类,Python找不到对应的名称。
常见原因:变量名拼写错误、函数或类未定义就调用、变量作用域错误(比如局部变量在全局使用)。
# 错误案例:变量未定义就使用print(num)# 报错信息:NameError: name 'num' is not defined# 解决方案:先定义变量,再使用num = 10print(num)
3. 类型错误(TypeError)
报错说明:对不同类型的数据执行了不兼容的操作(比如用字符串和数字相加)。
常见原因:数据类型不匹配、函数参数类型错误、调用非可调用对象。
# 错误案例:字符串和数字相加name = "Python"age = 10print(name + age)# 报错信息:TypeError: can only concatenate str (not "int") to str# 解决方案:统一数据类型,将数字转为字符串print(name + str(age))
4. 索引错误(IndexError)
报错说明:访问了序列(列表、元组、字符串)中不存在的索引。
常见原因:索引超出序列长度、索引为负数且绝对值超过序列长度。
# 错误案例:列表索引超出范围(列表只有3个元素,索引0、1、2)lst = [1, 2, 3]print(lst[3])# 报错信息:IndexError: list index out of range# 解决方案:确保索引在0到len(lst)-1之间print(lst[2])
5. 键错误(KeyError)
报错说明:访问字典中不存在的键(key)。
常见原因:键名拼写错误、键不存在于字典中、误将列表当作字典使用。
# 错误案例:访问字典中不存在的键dict1 = {"name": "Python", "age": 10}print(dict1["gender"])# 报错信息:KeyError: 'gender'# 解决方案:检查键名,或用get()方法避免报错print(dict1.get("gender", "default")) # 不存在则返回默认值default

总结:今日我们学习了Python基础篇-Python常见异常类型汇总(一)。对于Python程序中的异常报错,核心是“分清类别、对号入座”——先看报错信息的异常类型,再根据类型排查原因,最后用对应方案修改。“语法错误先改语法,运行时异常用try-except捕获”,多练多排查,慢慢就能做到看到报错就知道怎么改。当下次遇到Python程序异常报错,直接对照查找,高效排错!在Python基础篇,后续我们将持续学习Python基础知识,介绍各种算法,祝每一位study er学习愉快。

