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转换字符串为摩尔斯电码的方法
Jul 06 Python
python装饰器与递归算法详解
Feb 18 Python
动态规划之矩阵连乘问题Python实现方法
Nov 27 Python
python实现反转部分单向链表
Sep 27 Python
python实现三维拟合的方法
Dec 29 Python
python读取几个G的csv文件方法
Jan 07 Python
Python爬虫 批量爬取下载抖音视频代码实例
Aug 16 Python
使用pandas的box_plot去除异常值
Dec 10 Python
利用keras加载训练好的.H5文件,并实现预测图片
Jan 24 Python
python画图常规设置方式
Mar 05 Python
python3.7+selenium模拟淘宝登录功能的实现
May 26 Python
Python制作一个仿QQ办公版的图形登录界面
Sep 22 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
曾在DC漫画界反派角色扮演的演员,谁才是你心目中的小丑之王?
2020/04/09 欧美动漫
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
2007/08/19 PHP
Zend的Registry机制的使用说明
2013/05/02 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
2014/07/01 PHP
PHP MySql增删改查的简单实例
2016/06/21 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
基于thinkphp6.0的success、error实现方法
2019/11/05 PHP
一些易混淆且不常用的属性,希望有用
2007/01/29 Javascript
jquery.ui.progressbar 中文文档
2009/11/26 Javascript
jquery 事件执行检测代码
2009/12/09 Javascript
JavaScript 学习笔记(十一)
2010/01/19 Javascript
jQuery 美元符冲突的解决方法
2010/03/28 Javascript
jquery 实现密码框的显示与隐藏示例代码
2013/09/18 Javascript
Js与下拉列表处理问题解决
2014/02/13 Javascript
jQuery表单域选择器用法分析
2015/02/10 Javascript
BootStrap Table 分页后重新搜索问题的解决办法
2016/08/08 Javascript
form表单转Json提交的方法(推荐)
2016/09/23 Javascript
js HTML5上传示例代码完整版
2016/10/10 Javascript
VUE长按事件需求详解
2017/10/18 Javascript
vue中利用Promise封装jsonp并调取数据
2019/06/18 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
2020/04/26 Javascript
JavaScript 生成唯一ID的几种方式
2021/02/19 Javascript
Python中集合类型(set)学习小结
2015/01/28 Python
Python3连接Mysql8.0遇到的问题及处理步骤
2020/02/17 Python
python实现简单坦克大战
2020/03/27 Python
Python中Qslider控件实操详解
2021/02/20 Python
美的官方商城:Midea
2016/09/14 全球购物
乐高官方旗舰店:LEGO积木玩具
2019/04/06 全球购物
简单叙述一下MYSQL的优化
2016/05/09 面试题
自我鉴定范文200字
2013/10/02 职场文书
素食餐饮项目创业计划书
2014/02/02 职场文书
教师节倡议书
2014/08/30 职场文书
离婚财产分配协议书
2014/10/21 职场文书
发言稿之优秀教师篇
2019/09/26 职场文书
mybatis 获取无数据的字段不显示的问题
2021/07/15 Java/Android