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查找第k小元素代码分享
Dec 18 Python
用Python输出一个杨辉三角的例子
Jun 13 Python
Python内存管理方式和垃圾回收算法解析
Nov 11 Python
python 监听salt job状态,并任务数据推送到redis中的方法
Jan 14 Python
在python中用print()输出多个格式化参数的方法
Jul 16 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
Aug 06 Python
Python:slice与indices的用法
Nov 25 Python
Python发送手机动态验证码代码实例
Feb 28 Python
浅谈Tensorflow加载Vgg预训练模型的几个注意事项
May 26 Python
Python grequests模块使用场景及代码实例
Aug 10 Python
Python求区间正整数内所有素数之和的方法实例
Oct 13 Python
Python爬虫入门教程01之爬取豆瓣Top电影
Jan 24 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
smarty section简介与用法分析
2008/10/03 PHP
PHP日期时间函数的高级应用技巧
2009/05/16 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
2021/02/27 PHP
为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)
2010/11/11 Javascript
为原生js Array增加each方法
2012/04/07 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
2015/09/20 Javascript
js计算文本框输入的字符数
2015/10/23 Javascript
原生JavaScript实现滚动条效果
2020/03/24 Javascript
总结JavaScript设计模式编程中的享元模式使用
2016/05/21 Javascript
Bootstrap表单布局样式代码
2016/05/31 Javascript
js数组的五种迭代方法及两种归并方法(推荐)
2016/06/14 Javascript
jquery实现瀑布流效果 jquery下拉加载新数据
2016/12/12 Javascript
基于JavaScript实现熔岩灯效果导航菜单
2017/01/04 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
深入掌握 react的 setState的工作机制
2017/09/27 Javascript
vue-router路由与页面间导航实例解析
2017/11/07 Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
2017/11/28 Javascript
nginx+vue.js实现前后端分离的示例代码
2018/02/12 Javascript
微信小程序实现swiper切换卡内嵌滚动条不显示的方法示例
2018/12/20 Javascript
Vuepress 搭建带评论功能的静态博客的实现
2019/02/17 Javascript
详解Vue.js 作用域、slot用法(单个slot、具名slot)
2019/10/15 Javascript
微信小程序canvas截取任意形状的实现代码
2020/01/13 Javascript
[01:18:43]2014 DOTA2华西杯精英邀请赛5 24 iG VS DK
2014/05/25 DOTA
python字符串中的单双引
2017/02/16 Python
python调用摄像头拍摄数据集
2019/06/01 Python
Pandas DataFrame中的tuple元素遍历的实现
2019/10/23 Python
python爬取2021猫眼票房字体加密实例
2021/02/19 Python
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
Koral官方网站:女性时尚运动服
2019/04/10 全球购物
高中地理教学反思
2014/01/29 职场文书
卫生标语大全
2014/06/21 职场文书
销售经理工作失职检讨书
2014/10/24 职场文书
地震慰问信
2015/02/14 职场文书
后勤工作个人总结
2015/02/28 职场文书
学生会生活部工作总结2015
2015/03/31 职场文书
SQL Server内存机制浅探
2022/04/06 SQL Server