Python常见报错类型

Python常见报错类型


  • SyntaxError (语法错误)

  • NameError(名称错误)

  • TypeError(类型错误)

  • IndexError(索引错误)

  • KeyError(键错误)

  • ValueError(值错误)

  • AttributeError(属性错误)

  • ZeroDivisionError(零除错误)



1. SyntaxError

说明:代码不符合 Python 的语法规则,解释器无法解析。无法被try-except捕捉

原因

  • 缺少语句
# 可能出现的情况
for in range(10) :  # for后缺少循环变量
   print('A')
if True    # 缺少冒号
  print('B')
  • 缩进错误(IndentationError 缩进错误,为SyntaxError的子类)
if True:   # 语句块缩进错误  或Tab和空格混用
print('if语句')
## 大部分IDE会把tab自动转换成空格

2. NameError

说明:引用了未定义的变量

错误代码

print(a) # 忘记未定义

num = 0
print(nmu) # 拼写错误

def f():
  a = 0
f()
print(a)  # 忽略变量作用域

报错信息 :

  • NameError: name 'a' is not defined

3. TypeError

说明 :使用了不支持的操作。

错误代码

1 + 'a'
[1]+(2)

报错信息

  • TypeError: unsupported operand type(s) for +: 'int' and 'str'

4. ValueError

说明 :数据类型正确,但值不符合要求。

错误代码

print(int('a'))

l = [1,2,3]
l.remove(5)

报错信息:

  • ValueError: invalid literal for int() with base 10: 'a'

  • ValueError: list.remove(x): x not in list

5. IndexError

说明:索引超出边界。

错误代码

l = [1,2,3]
print(l[3])

报错信息

  • IndexError: list index out of range

6. KeyError

说明:访问字典中不存在的键。

错误代码示例

d = {'a':1, 'b': 2}
print(d['NULL'])

报错信息

  • KeyError: 'NULL'

7.AttributeError

说明:对象不存在此方法。

错误代码示例

n = 1
n.append('8')

报错信息

  • AttributeError: 'int' object has no attribute 'append

8.ZeroDivisionError

说明:分母为零。

错误代码示例

a=1
b=0
print(a/b)

报错信息

  • ZeroDivisionError: division by zero
posted @ 2026-01-08 11:09  Lnk-on  阅读(37)  评论(0)    收藏  举报