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计算字符宽度的方法
Jun 14 Python
Python正则表达式常用函数总结
Jun 24 Python
Python中的单行、多行、中文注释方法
Jul 19 Python
python3.6使用pickle序列化class的方法
Oct 22 Python
PyQt5 实现给窗口设置背景图片的方法
Jun 13 Python
Python实现个人微信号自动监控告警的示例
Jul 03 Python
python3 批量获取对应端口服务的实例
Jul 25 Python
Python Numpy 控制台完全输出ndarray的实现
Feb 19 Python
浅析Python 抽象工厂模式的优缺点
Jul 13 Python
Python实现快速大文件比较代码解析
Sep 04 Python
python用tkinter开发的扫雷游戏
Jun 01 Python
Python使用华为API为图像设置多个锚点标签
Apr 12 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.ini中的request_order推荐设置
2015/05/10 PHP
php将远程图片保存到本地服务器的实现代码
2015/08/03 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
2016/10/29 PHP
php的instanceof和判断闭包Closure操作示例
2020/01/26 PHP
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
javascript getElementsByClassName函数
2010/04/01 Javascript
js 第二代身份证号码的验证机制代码
2011/05/12 Javascript
禁止IE用右键的JS代码
2013/12/30 Javascript
js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
2014/06/02 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
JavaScript控制两个列表框listbox左右交换数据的方法
2015/03/18 Javascript
JavaScript设计模式之单体模式全面解析
2016/09/09 Javascript
vue实现商城上货组件简易版
2017/11/27 Javascript
基于Vue2.X的路由和钩子函数详解
2018/02/09 Javascript
Angular @HostBinding()和@HostListener()用法
2018/03/05 Javascript
基于axios 解决跨域cookie丢失的问题
2018/09/26 Javascript
Jquery的Ajax技术使用方法
2019/01/21 jQuery
Vue使用vue-recoure + http-proxy-middleware + vuex配合promise实现基本的跨域请求封装
2019/10/21 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
js回调函数仿360开机
2019/12/26 Javascript
python制作花瓣网美女图片爬虫
2015/10/28 Python
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
python文件名和文件路径操作实例
2017/09/29 Python
Python面向对象之反射/自省机制实例分析
2018/08/24 Python
详解python算法之冒泡排序
2019/03/05 Python
浅谈tensorflow中张量的提取值和赋值
2020/01/19 Python
捷克街头、运动和滑板一站式商店:BoardStar.cz
2019/10/06 全球购物
毕业生自荐信
2013/12/14 职场文书
计算机专业毕业生求职信分享
2013/12/24 职场文书
英语求职信范文
2014/05/23 职场文书
预备党员综合考察材料
2014/05/31 职场文书
新品发布会策划方案
2014/06/08 职场文书
本溪关门山导游词
2015/02/09 职场文书
大学生自荐信范文
2015/03/05 职场文书
JavaScript分页组件使用方法详解
2021/07/26 Javascript
nginx中封禁ip和允许内网ip访问的实现示例
2022/03/17 Servers