前言
写程序时,当代码多了以后是很容易出现错误的,有些可能是我们粗心造成的,而有些可能是我们考虑不周全导致的,甚至还有一些是你知识盲区导致的等等。
写程序出现错误是很正常不过的事情,尽管无法避免犯错,但是出现之后如何快速定位问题,解决问题,这中调试程序的能力是可以通过学习提升的。

常见的错误
在我们的程序出问题时,都会有一个报错提醒的,弄清楚你的程序是哪种错误,这个对于我们解决问题非常关键。有些一运行就报错,有些运行过程中出现报错,还有没保错,但是没有实现我们要的效果。

1.NameError

2.SyntaxError
少了引号

少了括号,一般会在下一行报错。

将关键词用来作为变量名

等于号和赋值符号弄混了

3.TypeError
类型错误,数字和字符进行运算操作,调用函数参数传递少了。


4.IndexError
索引错误,访问不存在的数据



5.AttributeError
属性错误,使用没有的属性。

6.IndentationError
忘记缩进,或者缩进方法不统一,空格和Tab键混用。


7.KeyError
访问不存在的键值

8.其它错误
分母不能为零。

打开文件时,找不到文件。

运行过程中报错,语法都是没问题的,因为我们不清楚python递归最多可以到多少层,所以当超过最大998时就报错了。

语义错误,这种是最难发现的,因为程序没有报错,但是效果却不符合我们的要求,比如下面的例子,如果你不清楚运算法则,很可能结果就不符合你的要求,导致很难找出错误。为了减少类似错误,可以将复杂的代码尽量拆分成简单的代码。

还有下面这种语义错误,循环变量和外面的变量相同,导致我们的结果和预期有出入。

(全文完)
下篇预告:如何避免程序运行过程中出现错误中断程序?
长按二维码,加关注!叶子陪你玩
欢迎转载,转载请注明出处!
欢迎关注公众微信号:叶子陪你玩编程
分享自己的python学习之路
网友评论