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设计】。

相关文章

docker-py 用Python调用Docker接口的方法

docker-py 用Python调用Docker接口的方法

官方文档:【https://docker-py.readthedocs.io/en/stable/images.html】 众所周知,Docker向外界提供了一个API来管理其中的资源。...

Flask 上传自定义头像的实例详解

Flask 上传自定义头像的实例详解

Flask Web 开发这本书基本上做完了,后面还需要温习,但是自己做的博客总觉得简陋了点,所以,在动脑子开发新功能 今天想到最基本的功能,自定义头像 那这样的功能,设计到2大基本功能块...

Python中输出ASCII大文字、艺术字、字符字小技巧

Python中输出ASCII大文字、艺术字、字符字小技巧

复制代码 代码如下: display text in large ASCII art fonts 显示大ASCII艺术字体 这种东西在源码声明或者软件初始化控制台打印时候很有用。...

Python编程之gui程序实现简单文件浏览器代码

Python编程之gui程序实现简单文件浏览器代码

本文主要分享了关于在python中实现一个简单的文件浏览器的代码示例,代码及展示如下。 #!/usr/bin/env python # -*- coding: UTF-8 -*-...

python+OpenCV实现车牌号码识别

python+OpenCV实现车牌号码识别

基于python+OpenCV的车牌号码识别,供大家参考,具体内容如下 车牌识别行业已具备一定的市场规模,在电子警察、公路卡口、停车场、商业管理、汽修服务等领域已取得了部分应用。一个典型...