龙空技术网

Python常见的6种报错及解决方案,建议收藏

溪流涌动 287

前言:

此时咱们对“python报错处理”可能比较着重,咱们都需要分析一些“python报错处理”的相关内容。那么小编同时在网摘上搜集了一些对于“python报错处理””的相关资讯,希望小伙伴们能喜欢,朋友们一起来了解一下吧!

在刚接触python过程中,编写任意代码都有可能出现报错,如果对报错类型不熟悉可能就比较难找出问题。今天我们来讲解python使用过程中常见的8种报错及解决方案。

一、缩进错误(IndentationError: expected an indented block)

1、在Python中,所有代码都是通过正确的空格排列的。所以,无论是多出来的空格,还是缺少空格,整个代码都不会运行,并且仅返回一个错误函数。Python代码遵循PEP8空白规范,每一级缩进使用 4个空格。

2、语法举例:

a= 1b= 2if a<b:print(a)

二、语法错误(SyntaxError)

语法错误的原因包含下列三种:

无效语法(invalid syntax) 标点符号遗漏,中英文符号混用,拼写错误,变量名或者函数名使用了关键字。

1.1语法举例:

if name == "A"print( "hello")

1.1.2错误原因:错误原因:忘记在if/elif/else/while/for/def/class等语句末尾添加冒号

2.标识符中有无效字符(invalid character in identifier)

2.1语法举例:

print( 'hello', 'world')

2.1.2错误原因:逗号为中文逗号

3.检查到不完整的字符串(unexpected EOF while parsing),很多情况下是由于字符串两边的引号不统一。

3.1语法举例:

result = ( 1024+( 512* 2)/ 128

3.1.2错误原因:圆括号没有成对出现

三、变量名错误(NameErro)

1.变量名错误是最普通也是最常会遇到的报错类型,经常会出现在Python变量命名上,如果找不到变量就会引发NameError。关于变量名的规则,需要牢记以下几条:

变量名只能包含字母、数字和下划线,不可用数字开头;变量名不能包含空格,但可使用下划线来分隔其中的单词;不要将Python关键字和函数名用作变量名,如print;变量名应既简短又具有描述性;慎用小写字母l和大写字母O,因为容易被错看成数字1和0。

出现变量名错误,可以查看变量是否赋值,是否存在大小写不统一或者变量名写错了的情况,找到后加以修正。

1.1语法举例:

message = "Hello!"print(mesage)

1.1.2错误原因:变量名拼写错误,误将massage拼写为masge

四、索引错误(IndexError)

1.索引是项目在数组或列表中的位置,当我们尝试从列表中访问元素或从列表中不存在的索引中访问元组时,就会发生这种异常。

例如,有一个包含3个元素的列表,索引在0到2之间,如果试图访问索引3或4的元素,就会产生IndexError。

1.1语法举例:

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

1.1.2错误原因:列表a中不存在第3个索引,列表的索引从0开始编号

五、类型错误(TypeError)

1.在程序中使用不正确或不受支持的对象类型时,会引发该错误。如果尝试调用不可调用的对象或通过非迭代标识符进行迭代,也会引发此错误。

1.1语法举例:

age = 18print( "我的年龄是"+age)

1.1.2错误原因:在使用“+”做拼接的时候,必须使用字符串,或者 把数字用str函数转化成字符串

六、属性错误(AttributeError)

1.特性引用和赋值失败时会引发属性错误。类错误的原因是尝试访问未知的对象属性,换句话说就是找不到对应对象的属性。可以检查类中构造函数__init__是否写正确,左右两边各两条下划线。

标签: #python报错处理