分享一个python调试程序BUG的技巧,有谁又会不出BUG呢
2021-03-21 12:26
标签:学习python div 理解 pst 出错 导致 第一个 怎么 rgb 在写程序的过程中,经常会遇到各种bug,而python的报错功能其实非常有限,我们仅仅依靠看报错提示,很难找到哪里出了错误! 用input中断程序 用print输出可疑的变量 一:什么情况下可疑调试
学过Matlab的同学应该很容易理解我的意思,Matlab中有一个功能是专门用来调试程序的,可以让程序在特定的位置中断。但是python没有这个功能(特殊的编辑器除外)。不过我们可以用input中断程序。然后在input中断前print出可疑的变量我们举一个简单的例子。 这是一个计算加减法的程序,首先计算a+b,然后打印出a+b。 随后,我们还有计算出a-b,并打印出来。 这个代码运行后出现了错误。 当然,这个简单的错误大家很容易看出来。错误在于第一个print之后,变量b变成了str型。而str型无法和int型的a做加减法运算。导致错误的产生。 由于这个程序代码很少,所以大家很容易就看出来了。 但是如果是几百行的代码,就很不容易找到错误的源头,这就需要用input中断程序,然后打印出可疑变量。 二:在哪里中断程序 调试程序需要结合报错提示,从报错提示中,我们可以看到是哪一行程序出了错误,然后在这一行的前面那一行中断。 之后,还要找出这个出错的一行代码,里面用到了哪些变量,用到的这些变量就是可以变量。 从上面的图我们可以看出,报错的代码是:d=a-b。也就是我用黑色的线画出来的那个。这个代码用到了两个变量进行计算,分别是a和b,报错的意思就是这两个代码的数据类型不合适,不能放在一起计算。 三:print出可以变量 找到出错的代码后,我们还要将里面的可以变量打印出来,也就是a和b。 print可疑变量的代码要刚好在input中断之前。这样可以准确的知道这些可疑变量在出错之前的数据类型。 因为变量的数据类型是会变化的,这个变量b在程序运行中变化了,所以不再适合计算。 我们打印出a和b的数据类型以后,发现b的数据类型是str。这就是错误的原因。 四:调试程序的延伸 找到错误的变量是b以后,我们还要知道,这个变量是在哪里出错的,这样,我们就需要在变量b出现的不同位置都进行一次print输出,看一看是在哪里出现的错误。 这一点没什么技巧,相信大家都能知道怎么做。 在这里还是要推荐下我自己建的Python开发学习群:1156465813,群里都是学Python开发的,如果你正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2020最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深入Python的小伙伴! 分享一个python调试程序BUG的技巧,有谁又会不出BUG呢 标签:学习python div 理解 pst 出错 导致 第一个 怎么 rgb 原文地址:https://www.cnblogs.com/shuchongzeishuai/p/13901192.html
今天就分享一个调试python程序的小技巧:a=3
b=9
c=a+b
print(‘a+b等于‘,c)
b=‘l‘
d=a-b
print(‘a-b等于‘,d)
文章标题:分享一个python调试程序BUG的技巧,有谁又会不出BUG呢
文章链接:http://soscw.com/essay/67172.html