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使用pil生成图片验证码的方法
May 08 Python
tensorflow TFRecords文件的生成和读取的方法
Feb 06 Python
Python实现确认字符串是否包含指定字符串的实例
May 02 Python
python画一个玫瑰和一个爱心
Aug 18 Python
使用Python实现跳帧截取视频帧
May 31 Python
解决Django加载静态资源失败的问题
Jul 28 Python
python 的 openpyxl模块 读取 Excel文件的方法
Sep 09 Python
使用python 将图片复制到系统剪贴中
Dec 13 Python
pytorch逐元素比较tensor大小实例
Jan 03 Python
python+selenium 脚本实现每天自动登记的思路详解
Mar 11 Python
属性与 @property 方法让你的python更高效
Sep 21 Python
python用Configobj模块读取配置文件
Sep 26 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
让你同时上传 1000 个文件 (一)
2006/10/09 PHP
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
2014/07/19 PHP
php静态文件生成类实例分析
2015/01/03 PHP
详细解读PHP中接口的应用
2015/08/12 PHP
javascript中callee与caller的用法和应用场景
2010/12/08 Javascript
在JavaScript中获取请求的URL参数
2010/12/22 Javascript
jQuery使用技巧简单汇总
2013/04/18 Javascript
用jquery实现输入框获取焦点消失文字
2013/04/27 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
JS实现光滑展开合拢的菜单效果代码
2015/09/16 Javascript
JS实现的左侧竖向滑动菜单效果代码
2015/10/19 Javascript
浅析Node.js 中 Stream API 的使用
2015/10/23 Javascript
Three.js学习之网格
2016/08/10 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
Javascript中常用的检测方法小结
2016/10/08 Javascript
jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承
2016/12/06 Javascript
简单实现js倒计时功能
2017/02/13 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
2017/06/17 Javascript
手机注册发送验证码倒计时的简单实例
2017/11/15 Javascript
微信小程序之分享页面如何返回首页的示例
2018/03/28 Javascript
实例介绍JavaScript中多种组合继承
2019/01/20 Javascript
JS实现点击生成UUID的方法完整实例【基于jQuery】
2019/06/12 jQuery
nodejs读取图片返回给浏览器显示
2019/07/25 NodeJs
vue-cli3 取消eslint校验代码的解决办法
2020/01/16 Javascript
原生js实现弹窗消息动画
2020/11/20 Javascript
node koa2 ssr项目搭建的方法步骤
2020/12/11 Javascript
Python字符转换
2008/09/06 Python
Django实现的自定义访问日志模块示例
2017/06/23 Python
Python lambda表达式filter、map、reduce函数用法解析
2019/09/11 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
2020/04/16 Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
2020/06/18 Python
Python通过zookeeper实现分布式服务代码解析
2020/07/22 Python
会计专业毕业生自我评价
2013/09/25 职场文书
出差报告格式模板
2014/11/06 职场文书
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python
CSS中calc(100%-100px)不加空格不生效
2023/05/07 HTML / CSS