Python PyCharm如何进行断点调试
编辑器不等于IDE(集成开发环境),开发python
程序,不是只有一种print()
打印输出调试。
术业有专攻,于人如此,于一个软件也是如此。让专业的软件做专业的事。
以上两点得出的结论:PyCharm
我们以如下的一种常见错误,来演示如何通过PyCharm断点追踪的方式发现程序中的错误:
def foo(bar=[]): bar.append('bar') return bar >>>foo() ['bar'] >>>foo() ['bar', 'bar'] >>>foo() ['bar', 'bar', 'bar']
这里存在一个常见的错误就是误以为:函数在每次不提供可选形参时将参数设置为默认值,也就是本例中的[]
,一个空的list。
这里我们便可以通断点调试的方式进行追踪,在每次函数调用(不显示传递形参)时,观察形参值的变化。
如图所示为:
下图是以这段为例,来演示如何发现程序中的bug:
解决方案:
def foo(bar=None): if not bar: bar = [] bar.append('baz') return bar >>>foo() ['baz'] >>>foo() ['baz']
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
利用Pycharm将python文件打包为exe文件的超详细教程(附带设置文件图标)
在日常使用pycharm写好程序后,如何将程序打包为exe文件呢,下面这篇文章主要给大家介绍了关于利用Pycharm将python文件打包为exe文件的超详细教程,附带设置文件图标,需要的朋友可以参考下2022-08-08解决Keras中循环使用K.ctc_decode内存不释放的问题
这篇文章主要介绍了解决Keras中循环使用K.ctc_decode内存不释放的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-06-06Django request.META.get()获取不到header头的原因分析
这篇文章主要介绍了Django request.META.get()获取不到header头的原因分析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-04-04
最新评论