给宝宝做衣服网站,网站视听内容建设,家具家居网站建设,制作网页难吗◆ ◆ ◆ ◆ ◆接触了很多Python爱好者#xff0c;有初学者#xff0c;亦有转行人。不论大家学习Python的目的是什么#xff0c;总之#xff0c;学习Python前期写出来的代码不报错就是极好的。下面#xff0c;严小样儿为大家罗列出Python3十大经典错误及解决办法#xf… ◆ ◆ ◆ ◆ ◆接触了很多Python爱好者有初学者亦有转行人。不论大家学习Python的目的是什么总之学习Python前期写出来的代码不报错就是极好的。下面严小样儿为大家罗列出Python3十大经典错误及解决办法供大家学习。一、 SyntaxError 语法错误(1)引号没有成对出现报错信息1SyntaxError:EOL while scanning string literal错误示例1string hello world解决方法字符串切记要放在引号中单引号双引号无所谓。当一个字符串中包含单引号或双引号时很容易出现引号不配对的情况。(2)圆括号没有成对出现报错信息1SyntaxError:unexpected EOF while parsing错误示例11result (1024(512*2)/128错误示例21print(hello world解决方法使圆括号成对出现。在书写复杂的表达式或调用函数时会经常遇到这个问题。(3)错误使用自操作运算符或--等报错信息1SyntaxError:invalid syntax错误示例1v 642v解决方法在Python语言中没有类似C语言的或--等自操作运算符。与之类似功能的用法是或-运算符。例如使用下面的代码进行让变量v进行自增1的操作。1v 1(4)试图使用等号()判断两个运算量是否相等报错信息1SyntaxError:invalid syntax错误示例1if v64:2 print(hello world)解决方法在Python语言中使用两个等号()作为判断两个运算量是否相等的关系运算符而等号()是赋值运算符。(6)错误使用Python语言关键字作为变量名报错信息1SyntaxError: cant assign to keyword错误示例1False 1解决方法不要使用Python语言关键字作为变量名、函数名或类名等。在Python Shell窗口中使用help(keywords)指令可以查看Python语言的关键字列表。(7)忘记在if/elif/else/while/for/def/class等语句末尾添加冒号(:)报错信息1SyntaxError:invalid syntax错误示例11a 123452for i in a3 print(i)错误示例21def sayhi()2 print(Hi)解决方法在if/elif/else/while/for/def/class等语句末尾添加冒号(:)即可。牢记语法规则多多练习多多敲代码。(8)错误地使用了中文标点符号报错信息1SyntaxError: invalid character in identifier错误示例11print(helloworld)2# 错误原因逗号是中文标点符号错误示例21for i in range(10)2# 错误原因冒号是中文标点符号解决方法除了字符串中可以有中文外其它任何情况均使用英文状态进行编辑。二、 IndentationError 缩进错误报错信息1IndentationErrorunindent does not match any outer indentation level2IndentationErrorexpected an indented block错误示例1a 22while a 0:3 print(hello)4 a - 15else:6 print(0.0)解决方法上述代码中while语句体内的代码缩进没有对齐。正确使用缩进排版代码。当代码是从其它地方复制并粘贴过来的时候这个错误较多见。三、 NameError 名字错误当变量名、函数名或类名等书写错误或者函数在定义之前就被调用等情况下就会导致名字错误。报错信息1NameError: name pirnt is not defined2NameError: name sayhi is not defined3NameError: name pd is not defined错误示例11pirnt(hello world)2# 错误原因print拼写错误。错误示例21sayhi()23def sayhi():4 pass5# 错误原因在函数定义之前对函数进行调用。错误示例31pd.read_excel(rfile.xlsx)2# 错误原因在调用pandas方法前并未导入pandas库或者并未起别名为pd。解决方法正确书写变量名、函数名或类名等在使用变量前先进行赋值将函数的定义放在函数调用之前在使用第三方库前先进行导入、调包等等。即保证某个名字(标识符)先存在才能被使用。四、 TypeError 类型错误(1)整数和字符串不能进行连接操作报错信息1TypeError: Cant convert int object to str implicitly2TypeError: unsupported operand type(s) for : float and str错误示例11print(score:100)错误示例21print(9.8 seconds)解决方法在整数、浮点数或布尔值与字符串进行连接操作之前先使用str()函数将其转换为字符串类型。(2)调用函数时参数的个数不正确或者未传递参数报错信息1TypeError: input expected at most 1 arguments,got 22TypeError: say() missing 1 required positional argument:words错误示例11input(输入姓名,年龄)2# 错误原因试图给input()函数提供第2个参数。错误示例21def say(words):2 print(words)34say()5# 错误原因调用函数时未传递参数。解决方法记住函数用法了解函数的参数定义使用正确的方法调用函数即可。五、 KeyError 键错误使用不存在的键名访问字典中的元素就会发生这个错误。报错信息1KeyError: c错误示例1d {a:1,b:2}2print(d[c])解决方法在访问字典中的元素时先用in关键字检测要访问的键名是否存在或者是使用字典和get()方法安全地访问字典元素。六、 IndexError 索引错误当访问列表的索引超出列表范围时就会出现索引错误。报错信息1IndexError: list index out of range错误示例1a [1,2,3]2print(a[3])3# 错误原因列表a中不存在第4个索引。列表的索引从0开始编号。解决方法通过len()函数获取列表的长度然后判断要访问的索引是否超出列表范围。七、 UNboundLocalError 未初始化本地变量错误在函数中如果对未声明的全局变量进行修改操作将会遇到这个错误。报错信息1UnboundLocalError: local variable s referenced before assignment错误示例1s 123def test():4 s 15 print(s)67test()8# 错误原因在函数内对未声明的全局变量s进行了自增操作。9# Python将变量s视为一个本地的局部变量但该变量未初始化。解决方法在函数内使用全局变量时使用global关键字对其进行声明即可。八、 AttributeError 属性错误报错信息1AttributeError: tuple object has no attribute append2AttributeError: DataFrame object has no attribute col错误示例11t (1,2,3)2t.append(4)3# 错误原因元祖不可变。错误示例21df pd.read_excel(rdata.xlsx)2df.col3# 错误原因DataFrame没有col属性应该为columns。解决方法正确书写类的属性名不要发生书写错误。深刻理解元祖列表的区别可将元祖转换为列表添加元素。九、 ModuleNotFoundError 模块不存在报错信息1ModuleNotFoundError: No module named pandas错误示例11import pandas as pd2# 没有导入成功报上面错误。解决方法这种报错常见于两种场景中第一、未下载、安装该模块第二、将调用的模块路径与被调用的模块路径不一致等。第一种情况直接下载安装即可在cmd中pip install xxx第二种情况电脑中可能存在多个版本的Python建议保留一个常用的即可。十、 FileNotFoundError 文件不存在报错信息1FileNotFoundError: File bE:\test\test_data.csv does not exist错误示例1pd.read_csv(E:\test\test_data.csv)2# 错误原因路径中包含\t系统错误地认为是制表符。解决方法在确保该路径下确实存在所写文件后在读取文件路径前面加r表示只读作为文件路径读取或者使用双斜杠\ \来进行转义形如E:\ \test\ \test_data.csv。偶尔也会发生文件名、路径的确写错犯一些低级错误。