Python报错速查:10大常见错误及修复指南

Python常见报错及解决方法

1. SyntaxError: invalid syntax
通常由语法错误引起,如缺少括号、冒号或拼写错误。
检查代码中是否有未闭合的括号、缩进错误或关键词拼写错误(如print写成prin)。
示例修正:

# 错误示例
if x == 5
    print("x is 5")

# 修正后
if x == 5:
    print("x is 5")

2. IndentationError: unexpected indent
缩进错误,Python对缩进敏感。
确保代码块内的缩进一致(通常用4个空格或1个Tab)。
示例修正:

# 错误示例
def func():
print("Hello")

# 修正后
def func():
    print("Hello")

3. NameError: name 'x' is not defined
变量或函数未定义就被引用。
检查变量是否拼写正确,或是否在引用前已赋值。
示例修正:

# 错误示例
print(y)

# 修正后
y = 10
print(y)

4. TypeError: unsupported operand type(s)
操作类型不匹配,如字符串与数字相加。
确保操作数的类型一致,必要时进行类型转换。
示例修正:

# 错误示例
result = "10" + 5

# 修正后
result = int("10") + 5

5. IndexError: list index out of range
列表索引超出范围。
检查列表长度,确保索引在有效范围内(0到len(list)-1)。
示例修正:

# 错误示例
my_list = [1, 2]
print(my_list[2])

# 修正后
my_list = [1, 2]
print(my_list[1])

6. KeyError: 'key_name'
字典中不存在的键被访问。
使用dict.get()方法或检查键是否存在。
示例修正:

# 错误示例
my_dict = {"a": 1}
print(my_dict["b"])

# 修正后
my_dict = {"a": 1}
print(my_dict.get("b", "默认值"))

7. AttributeError: object has no attribute
对象没有调用的属性或方法。
检查对象类型是否正确,或是否拼写错误。
示例修正:

# 错误示例
num = 10
num.append(2)

# 修正后
num = [10]
num.append(2)

8. ValueError: invalid literal for int()
类型转换失败,如将非数字字符串转为整数。
确保转换的数据格式正确。
示例修正:

# 错误示例
num = int("abc")

# 修正后
num = int("123")

9. ModuleNotFoundError: No module named 'module_name'
模块未安装或名称错误。
使用pip install module_name安装模块,或检查拼写。

10. ZeroDivisionError: division by zero
除数为零。
添加条件判断避免除零操作。
示例修正:

# 错误示例
result = 10 / 0

# 修正后
denominator = 0
result = 10 / denominator if denominator != 0 else "无效"

通用调试建议

  • 使用print()输出中间变量值。
  • 阅读报错信息的最后一行,通常包含错误类型和位置。
  • 使用IDE(如PyCharm)或工具(如pdb)逐步调试。
  • 查阅官方文档或社区资源(如Stack Overflow)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值