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 splitlines使用技巧
Sep 06 Python
Eclipse + Python 的安装与配置流程
Mar 05 Python
简单介绍Python中的struct模块
Apr 28 Python
python生成随机密码或随机字符串的方法
Jul 03 Python
在Python的一段程序中如何使用多次事件循环详解
Sep 07 Python
Python扩展内置类型详解
Mar 26 Python
Python2和Python3.6环境解决共存问题
Nov 09 Python
浅谈python中get pass用法
Mar 19 Python
python实现倒计时小工具
Jul 29 Python
Python 找出出现次数超过数组长度一半的元素实例
May 11 Python
python3读取autocad图形文件.py实例
Jun 05 Python
python中绕过反爬虫的方法总结
Nov 25 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
一个从别的网站抓取信息的例子(域名查询)
2006/10/09 PHP
CI框架中通过hook的方式实现简单的权限控制
2015/01/07 PHP
PHP SPL标准库之接口(Interface)详解
2015/05/11 PHP
微信公众号判断用户是否已关注php代码解析
2016/06/24 PHP
PHP中如何判断exec函数执行成功?
2016/08/04 PHP
window.showModalDialog使用手册
2007/01/11 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
2013/11/27 Javascript
推荐10个2014年最佳的jQuery视频插件
2014/11/12 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
浅谈JavaScript变量的自动转换和语句
2016/06/12 Javascript
Bootstrap基本样式学习笔记之按钮(4)
2016/12/07 Javascript
微信小程序中显示html格式内容的方法
2017/04/25 Javascript
JavaScript+HTML5实现的日期比较功能示例
2017/07/12 Javascript
angular指令笔记ng-options的使用方法
2017/09/18 Javascript
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
2017/12/27 Javascript
微信小程序左右滚动公告栏效果代码实例
2019/09/16 Javascript
vue 获取元素额外生成的data-v-xxx操作
2020/09/09 Javascript
vue-axios同时请求多个接口 等所有接口全部加载完成再处理操作
2020/11/09 Javascript
编写Python脚本把sqlAlchemy对象转换成dict的教程
2015/05/29 Python
完美解决安装完tensorflow后pip无法使用的问题
2018/06/11 Python
python pandas 对时间序列文件处理的实例
2018/06/22 Python
python实现杨氏矩阵查找
2019/03/02 Python
Python上下文管理器全实例详解
2019/11/12 Python
多个python文件调用logging模块报错误
2020/02/12 Python
python构造IP报文实例
2020/05/05 Python
python中的yield from语法快速学习
2020/11/06 Python
Python 多进程、多线程效率对比
2020/11/19 Python
意大利体育用品网上商城:Nencini Sport
2016/08/18 全球购物
乐高官方旗舰店:LEGO积木玩具
2019/04/06 全球购物
关联、聚合(Aggregation)以及组合(Composition)的区别
2012/02/29 面试题
Python面试题:Python是如何进行内存管理的
2014/08/04 面试题
社区党员先进事迹
2014/01/22 职场文书
公务员个人年终总结
2015/02/12 职场文书
七年级作文(600字3篇)
2019/09/24 职场文书
解决SpringCloud Feign传对象参数调用失败的问题
2021/06/23 Java/Android