Python PyCharm如何进行断点调试


Posted in Python onJuly 05, 2019

编辑器不等于IDE(集成开发环境),开发python程序,不是只有一种print()打印输出调试。

术业有专攻,于人如此,于一个软件也是如此。让专业的软件做专业的事。

以上两点得出的结论:PyCharm

我们以如下的一种常见错误,来演示如何通过PyCharm断点追踪的方式发现程序中的错误:

def foo(bar=[]):
  bar.append('bar')
  return bar
>>>foo()
['bar']
>>>foo()
['bar', 'bar']
>>>foo()
['bar', 'bar', 'bar']

这里存在一个常见的错误就是误以为:函数在每次不提供可选形参时将参数设置为默认值,也就是本例中的[],一个空的list。

这里我们便可以通断点调试的方式进行追踪,在每次函数调用(不显示传递形参)时,观察形参值的变化。
如图所示为:

Python PyCharm如何进行断点调试 

下图是以这段为例,来演示如何发现程序中的bug:

Python PyCharm如何进行断点调试

解决方案:

def foo(bar=None):
  if not bar:
    bar = []
    bar.append('baz')
  return bar
>>>foo()
['baz']
>>>foo()
['baz']

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
基于Python_脚本CGI、特点、应用、开发环境(详解)
May 23 Python
Django中的Signal代码详解
Feb 05 Python
Python浅复制中对象生存周期实例分析
Apr 02 Python
Python3 使用cookiejar管理cookie的方法
Dec 28 Python
详解python项目实战:模拟登陆CSDN
Apr 04 Python
python3.6使用tkinter实现弹跳小球游戏
May 09 Python
python日志logging模块使用方法分析
May 23 Python
Django Python 获取请求头信息Content-Range的方法
Aug 06 Python
python实现猜数字游戏
Mar 25 Python
python实现opencv+scoket网络实时图传
Mar 20 Python
matlab中二维插值函数interp2的使用详解
Apr 22 Python
Python 实现将numpy中的nan和inf,nan替换成对应的均值
Jun 08 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
Jul 04 #Python
Python计算一个点到所有点的欧式距离实现方法
Jul 04 #Python
python绘制已知点的坐标的直线实例
Jul 04 #Python
Python实现平行坐标图的两种方法小结
Jul 04 #Python
Python 图像处理: 生成二维高斯分布蒙版的实例
Jul 04 #Python
Django实现微信小程序的登录验证功能并维护登录态
Jul 04 #Python
libreoffice python 操作word及excel文档的方法
Jul 04 #Python
You might like
一个PHP缓存类代码(附详细说明)
2011/06/09 PHP
php在程序中将网页生成word文档并提供下载的代码
2012/10/09 PHP
php的4种常见运行方式
2015/03/20 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
document 和 document.all 分别什么时候用
2006/06/22 Javascript
如何阻止复制剪切和粘贴事件为了表单内容的安全
2013/05/23 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
2014/05/11 Javascript
js获取字符串字节数方法小结
2015/06/09 Javascript
基于Javascript实现倒计时功能
2016/02/22 Javascript
AngularJs  Understanding Angular Templates
2016/09/02 Javascript
AngularJS点击添加样式、点击变色设置的实例代码
2017/07/27 Javascript
使用jQuery实现购物车结算功能
2017/08/15 jQuery
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
layui多iframe页面控制定时器运行的方法
2019/09/05 Javascript
vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
2020/08/10 Javascript
JavaScript setTimeout()基本用法有哪些
2020/11/04 Javascript
[01:02:55]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
python使用win32com在百度空间插入html元素示例
2014/02/20 Python
python中正则表达式 re.findall 用法
2018/10/23 Python
老生常谈python中的重载
2018/11/11 Python
python读取有密码的zip压缩文件实例
2019/02/08 Python
python turtle 绘制太极图的实例
2019/12/18 Python
pytorch 实现打印模型的参数值
2019/12/30 Python
Python带参数的装饰器运行原理解析
2020/06/09 Python
python 用Matplotlib作图中有多个Y轴
2020/11/28 Python
python中uuid模块实例浅析
2020/12/29 Python
会计与出纳自荐书范文
2014/03/16 职场文书
公安学专业求职信
2014/07/27 职场文书
感恩老师演讲稿400字
2014/08/28 职场文书
工作收入证明模板
2014/10/10 职场文书
预备党员2014年第四季度思想汇报范文
2014/10/25 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
2015年乡镇流动人口工作总结
2015/05/12 职场文书
无犯罪记录证明样本
2015/06/16 职场文书
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL