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函数帮助查询小工具
Mar 13 Python
django使用html模板减少代码代码解析
Dec 12 Python
django传值给模板, 再用JS接收并进行操作的实例
May 28 Python
只需7行Python代码玩转微信自动聊天
Jan 27 Python
python中dict使用方法详解
Jul 17 Python
python实现将文件夹内的每张图片批量分割成多张
Jul 22 Python
django 实现将本地图片存入数据库,并能显示在web上的示例
Aug 07 Python
python web框架中实现原生分页
Sep 08 Python
python Django 反向访问器的外键冲突解决
May 20 Python
Pytorch 实现变量类型转换
May 17 Python
Python操作CSV格式文件的方法大全
Jul 15 Python
Python读写yaml文件
Mar 20 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
大师制作的中短波矿石收音机
2020/04/02 无线电
六酷社区论坛HOME页清新格调免费版 下载
2007/03/07 PHP
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
2007/09/30 PHP
php开发环境配置记录
2011/01/14 PHP
php实现上传图片生成缩略图示例
2014/04/13 PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
2014/07/11 PHP
ThinkPHP分组下自定义标签库实例
2014/11/01 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
基于PHP技术开发客服工单系统
2016/01/06 PHP
使用jquery选择器如何获取父级元素、同级元素、子元素
2014/05/14 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
2015/11/16 Javascript
js命名空间写法示例
2015/12/18 Javascript
Require.js的基本用法详解
2017/07/03 Javascript
全面介绍vue 全家桶和项目实例
2017/12/27 Javascript
微信小程序商品详情页的底部弹出框效果
2020/11/16 Javascript
Element-ui tree组件自定义节点使用方法代码详解
2018/09/17 Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
2018/10/28 Javascript
Vue SPA 初次进入加载动画实现代码
2019/11/14 Javascript
vue页面跳转实现页面缓存操作
2020/07/22 Javascript
Vue 根据条件判断van-tab的显示方式
2020/08/03 Javascript
vue+swiper实现左右滑动的测试题功能
2020/10/30 Javascript
微信小程序实现购物车功能
2020/11/18 Javascript
swiperjs实现导航与tab页的联动
2020/12/13 Javascript
[30:55]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第二场 11.18
2020/11/18 DOTA
python中使用iterrows()对dataframe进行遍历的实例
2018/06/09 Python
Pandas 同元素多列去重的实例
2018/07/03 Python
Pandas DataFrame中的tuple元素遍历的实现
2019/10/23 Python
CSS实现限制字数功能当对象内文本溢出时显示省略标记
2014/08/20 HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
2018/07/12 HTML / CSS
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
企业厂务公开实施方案
2014/03/26 职场文书
2015年“七七卢沟桥事变”纪念活动总结
2015/03/24 职场文书
2016优秀毕业生个人事迹材料
2016/02/29 职场文书
2019新员工试用期转正工作总结范文
2019/08/21 职场文书
浅谈redis整数集为什么不能降级
2021/07/25 Redis