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中Class类用法实例分析
Nov 12 Python
Python实现获取照片拍摄日期并重命名的方法
Sep 30 Python
python中正则表达式的使用方法
Feb 25 Python
python+opencv+caffe+摄像头做目标检测的实例代码
Aug 03 Python
python进程和线程用法知识点总结
May 28 Python
python中的TCP(传输控制协议)用法实例分析
Nov 15 Python
基于python+selenium的二次封装的实现
Jan 06 Python
python递归调用中的坑:打印有值, 返回却None
Mar 16 Python
Python sql注入 过滤字符串的非法字符实例
Apr 03 Python
Python 如何展开嵌套的序列
Aug 01 Python
学点简单的Django之第一个Django程序的实现
Feb 24 Python
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
Mar 29 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类
2006/07/15 PHP
PHP 常见郁闷问题答解
2006/11/25 PHP
php下把数组保存为文件格式的实例应用
2010/02/08 PHP
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
2011/10/08 PHP
PHP中怎样防止SQL注入分析
2014/10/23 PHP
PHP 中常量的知识整理
2017/04/14 PHP
javascript 控制 html元素 显示/隐藏实现代码
2009/09/01 Javascript
基于jQuery的动态表格插件
2011/03/28 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
2013/03/20 Javascript
jQuery动画效果animate和scrollTop结合使用实例
2014/04/02 Javascript
jQuery实现可用于博客的动态滑动菜单
2015/03/09 Javascript
在JavaScript中操作时间之getMonth()方法的使用
2015/06/10 Javascript
三种AngularJS中获取数据源的方式
2016/02/02 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
js核心基础之闭包的应用实例分析
2019/05/11 Javascript
js神秘的电报密码 哈弗曼编码实现
2019/09/10 Javascript
BootstrapValidator实现表单验证功能
2019/11/08 Javascript
微信jssdk踩坑之签名错误invalid signature
2020/05/19 Javascript
python益智游戏计算汉诺塔问题示例
2014/03/05 Python
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
Python 的描述符 descriptor详解
2016/02/27 Python
Python中动态创建类实例的方法
2017/03/24 Python
Python在不同目录下导入模块的实现方法
2017/10/27 Python
python3+PyQt5+Qt Designer实现扩展对话框
2018/04/20 Python
解决pycharm无法识别本地site-packages的问题
2018/10/13 Python
python实现抠图给证件照换背景源码
2019/08/20 Python
css3实现六边形边框的实例代码
2019/05/24 HTML / CSS
详解使用canvas保存网页为pdf文件支持跨域
2018/11/23 HTML / CSS
西班牙拥有最佳品牌的动物商店:Animalear.com
2018/01/05 全球购物
师范生实习自我鉴定
2013/11/01 职场文书
时尚休闲吧创业计划书
2014/01/25 职场文书
老师对学生的寄语
2014/04/09 职场文书
工商局所长四风自我剖析及整改措施
2014/10/26 职场文书
个人廉洁自律总结
2015/03/06 职场文书
python 自动刷新网页的两种方法
2021/04/20 Python
详解Python requests模块
2021/06/21 Python