刚开始学习编程时,最容易被“报错信息”吓到。其实,错误是学习过程中最好的老师。
只要学会 看懂报错信息、找到错误原因、解决问题,编程能力就会快速提升。
下面我们来看看新手最常见的几类错误,以及如何调试。
一、语法错误(SyntaxError)
这是最常见的错误,通常是因为代码格式不符合Python语法。
示例1:少了冒号
if True
print("Hello")
📌 报错:
SyntaxError: expected ':'
✅ 解决办法:加上冒号
if True:
print("Hello")
二、缩进错误(IndentationError)
Python 使用缩进来表示代码块,不对齐就会报错。
示例2:缩进不一致
def say_hello():
print("Hello")
📌 报错:
IndentationError: expected an indented block
✅ 正确写法:
def say_hello():
print("Hello")
三、变量未定义(NameError)
使用了没有定义的变量,就会出错。
示例3:变量未定义
print(age)
📌 报错:
NameError: name 'age' is not defined
✅ 解决办法:先定义变量
age = 18
print(age)
四、类型错误(TypeError)
变量类型不匹配时会报错。
示例4:字符串和数字拼接
age = 18
print("我今年" + age + "岁")
📌 报错:
TypeError: can only concatenate str (not "int") to str
✅ 解决办法:转换类型
print("我今年" + str(age) + "岁")
或使用 f-string:
print(f"我今年{age}岁")
五、索引错误(IndexError)
当你访问的下标超出范围时,就会报错。
示例5:列表越界
nums = [1, 2, 3]
print(nums[5])
📌 报错:
IndexError: list index out of range
✅ 解决办法:检查索引是否越界
print(nums[-1]) # 输出最后一个元素
六、调试方法
-
善用
print()
调试
在关键位置输出变量值,帮助确认程序的执行流程。x = 10 y = 0 print("开始计算,x =", x, "y =", y) print(x / y) # 这里会报错
-
阅读报错信息
Python的报错信息通常包含:错误类型、错误位置、错误原因。不要忽视提示。 -
使用调试工具(pdb 或 IDE 调试器)
在 PyCharm、VS Code 里,可以单步运行代码,逐行查看变量值。 -
添加异常处理
使用try...except
捕获可能的错误,避免程序直接崩溃。try: result = 10 / 0 except ZeroDivisionError: print("除数不能为0!")
七、综合案例:安全的计算器
我们写一个简单的加法计算器,并用异常处理避免用户输入错误。
def add_numbers():
try:
a = int(input("请输入第一个数字:"))
b = int(input("请输入第二个数字:"))
print("结果是:", a + b)
except ValueError:
print("输入必须是整数!")
except Exception as e:
print("发生了其他错误:", e)
add_numbers()
📌 效果:
请输入第一个数字:10
请输入第二个数字:abc
输入必须是整数!
八、总结
- 常见错误类型:语法错误、缩进错误、变量未定义、类型错误、索引错误。
- 调试技巧:多用
print()
、阅读报错信息、学会用try...except
。 - 编程心态:遇到错误不要怕,报错信息是最好的学习指南。
掌握调试方法后,你会发现: 报错不再是噩梦,而是进步的捷径。