Python PyCharm如何进行断点调试

yipeiwu_com6年前Python基础

编辑器不等于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']

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python request设置HTTPS代理代码解析

之前版本的代理中,可以使用fiddler进行HTTP包的代理,但是代理HTTPS包时,执行错误 self._sslobj.do_handshake() ssl.SSLError:...

Python随机读取文件实现实例

Python随机读取文件 代码如下 import os import random rootdir = "d:\\face\\train" file_names = [] for...

python的concat等多种用法详解

本文为大家分享了python的concat等多种用法,供大家参考,具体内容如下 1、numpy中的concatenate()函数: >>> a = np.array...

Python类的继承和多态代码详解

Python类的继承和多态代码详解

Python类的继承 在OOP(ObjectOrientedProgramming)程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(S...

Python中json格式数据的编码与解码方法详解

Python中json格式数据的编码与解码方法详解

本文实例讲述了Python中json格式数据的编码与解码方法。分享给大家供大家参考,具体如下: python从2.6版本开始内置了json数据格式的处理方法。 1、json格式数据编码...