python报错keyerror_8种常见的Python运行错误,你肯定遇到过

本文总结了Python初学者常遇到的8种运行错误,包括SyntaxError、IndentationError、TypeError、NameError、AttributeError、IndexError、KeyError和TabError,并对每种错误进行了详细解释,帮助新手快速定位并解决问题。

对于刚入门Python的同学来说,在运行代码时总免不了报错。如何通过报错查找错误代码?今天,木木老师总结了一些常见的报错类型,每种报错都会有标有错误细节和错误行。大家以后看到了,就更容易找出自己的bug了。

SyntaxError: 语法错误

就是你输入的代码不符合格式,可能多打、少打或错打了一些必要的字母或者标点。

469857a94a87c0c34ede886e3e74d74e.png
# 例:忘记加英文冒号def func1()print('Hello World')# 报错:SyntaxError: invalid syntax# (语法错误:无效的语法)# 正确写法def func1():print('Hello World')

IndentationError:缩进错误

Python非常注重缩进的层次,一旦确定了缩进层次,后面就要统一。一开始用两个或者四个空格作为一个缩进,后面也需要一直保持一样的标准,否则机器就会识别错乱。

de336a7a733d7547732564860686cc28.png
# 例:y = 2 缩进错误def func2():x = 1y = 2# 报错:IndentationError: unindent does not match any outer indentation level# (缩进错误:(y = 2 这一行)缩进变小了,但是其它地方匹配不到和他一样的缩进层级)# 正确写法def func2():x = 1y = 2

TypeError:类型错误

字典,列表,元组等在使用时一定要区分开,有些函数可以通用,有些就是专属。用错了就会有这类的报错,要灵活的进行类型转换。

e96356bae356b475d0c2c08ded24f25d.png
# 例:没有将元组改为元组个数整型t=( 'a', 'b', 'c')for i in range(t):print([i])# 报错:TypeError: 'tuple' object cannot be interpreted as an integer# (类型错误:元组对象不能被解释为整数)# 正确写法t=( 'a', 'b', 'c')for i in range (len(t)):print([i])

NameError:变量名错误

忘记定义变量,或者定义的变量不用补全键敲错,就会报这种错误。

ca5f60d1553c5950d796d3bf650f6134.png
# 例:全局作用域不能访问局部变量def func4():x = 1print(x)# 报错:NameError: name 'x' is not defined# (变量名错误:变量名 'x' 没有被定义)# 正确写法def func4():x = 1print(x)

AttributeError:属性错误

特性引用和赋值失败时会引发属性错误。

b0f374fdc7961727f8769d655cbbe7dd.png
# 例:元组中没有append属性tp=('1','3','5')tp.append('7')print(tp)# 报错:AttributeError: 'tuple' object has no attribute 'append'# (属性错误:元组对象没有'append'属性)# 正确写法tp=('1','3','5')tp=('1','3','5','7')print(tp)

IndexError:索引错误

使用的索引不存在,常索引超出序列范围。

87c922ec40cd54ce16e81452cf5d2b91.png
# 例:引用超过list最大索引spam = ['cat', 'dog', 'mouse']print(spam[6])# 报错:IndexError: list index out of range# (索引错误:列表索引超出范围)# 正确写法spam = ['cat', 'dog', 'mouse']print(spam[2])

KeyError:关键字错误

使用了映射中不存在的关键字(键)时引发的关键字错误。

bdc0c6d56ba1bb242be95552de6cc494.png
# 例:使用不存在的字典键值spam = {'cat': 'Zophie', 'dog': 'Basil','mouse': 'Whiskers'}print('The name of my pet zebra is ' + spam['zebra'])# 报错:KeyError: 'zebra'# (关键字错误:'zebra')# 正确写法spam = {'cat': 'Zophie', 'dog': 'Basil','mouse': 'Whiskers'}print('The name of my pet zebra is ' + spam['cat'])

TabError:Tab错误

相邻的两句的缩进需要统一使用tab或统一使用空格,不能混用,否则就会出现报错。

d8334006e64d71c3adc15a1638a6c559.png
# 例:Tab空格混用def func8():x = 1y = 2# 报错:TabError: inconsistent use of tabs and spaces in indentation# (Tab错误:缩进中Tab键和空格的使用不一致)#正确写法def func8():x = 1y = 2

以上,是我们入门Python时最常见的一些错误类型。另外还有很多错误,我把整理的表格分享给大家,记得收藏起来~~

e69011bd468d91c78ad263b99eeabda0.png

平时如果出错了,记得把错误保存起来,每种错误下还有很多细分错误,多多积累,自然而然就熟悉啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值