Python常见代码错误汇总与解决思路-吐血经验
前言
我们在使用python时,难免会有很出现bug,本文总结了一些常见的报错以及解决思路(经验总结)如有不对请相互学习与探讨。一、常见的“不熟悉”错误
syntaxerror: invalid syntax
翻译:
语法错误
处理:
这类的错误是新手老师有时候都不可避免
检查缩进
检查是否有中文标点符号
检查括号结构
等等
尽量不要复制作者的代码然后直接用!!!
推荐使用pycharm,因为它会自动检查存在此类的错误,减少发生
syntaxerror: unexpected EOF while parsing
翻译:
语法错误:多了无法解析的符号
处理:
检查是否多了或少了括号
syntaxerror: invalid character in identifier
翻译:
语法错误:有无效标识符
处理:
检查中文符号,建议从敲代码
indentationerror: expected an indented block
翻译:
缩进错误
处理:
检查代码的缩进是否正确,比较容易犯错,python由于富有极简的代码约束,用缩进来减少代码量,轻松且方便的同时,有时候也会带来这种麻烦,熟悉了也难避免。
二、稍微“高级”的错误
indexerror: list index out of range
翻译:
索引错误,列表超出索引范围
处理:
检查列表是否为空或者真的超出了,这个错误一般是在我写爬虫的时候,解析网页的时候,发现列表并没有那么长度,需要print一下看看到底列表有撒子,然后相应的改变索引值或者更改为其他语法来解决问题。
typeerror: must be str, not int
翻译:
类型错误:数据不是正确的数据类型,比如字符串和数字直接拼接
处理:
这种情况建议查看一下模块的使用手册(ctrl+鼠标左键-针对pycharm)看看对参数的详细解释和参数传入类型。用as***改变参数的类型。
valueerror: substring not found
翻译:
值错误,输入的数据类型跟要求不符合
处理:
输入的数据类型跟要求不符合
看参数说明。
nameerror: name ‘a’ is not defined
翻译:
未初始化对象
处理:
变量没有被定义,1.可能是模块版本升级被替代了,2.python2与pyhon3存在细微差别,导致一些函数、模块别移除等情况,但一定有其他函数帮忙解决。3.你是真的没有定义这个变量。
https://www.cnblogs.com/ycxiaolaba/p/10034116.html## attributeerror: ‘tuple’ object has no attribute ‘remove’
翻译:
属性错误,该对象没有这个属性、方法
处理:
同上
送个传送门
总结
其实针对以上的错误,我们不能一概而论,有时候结合实际的开发需求,出现同类型的错误还是要具体问题具体分析。建议经常总结错误,不懂就问,但是我们中文社区的话,总有有许多人不愿意去分享和解决别人的问题,有条件的话,“省略两字*”自己体会。有许多国际友人会无私的帮你解决你的疑问,而且回复效率很高。