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求素数示例分享
Feb 16 Python
在主机商的共享服务器上部署Django站点的方法
Jul 22 Python
对python3 Serial 串口助手的接收读取数据方法详解
Jun 12 Python
python查看文件大小和文件夹内容的方法
Jul 08 Python
Python代码使用 Pyftpdlib实现FTP服务器功能
Jul 22 Python
将python包发布到PyPI和制作whl文件方式
Dec 25 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
Feb 29 Python
Python运行异常管理解决方案
Mar 09 Python
Python 3.8 新功能来一波(大部分人都不知道)
Mar 11 Python
Python3 中sorted() 函数的用法
Mar 24 Python
简单的命令查看安装的python版本号
Aug 28 Python
selenium与xpath之获取指定位置的元素的实现
Jan 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
php下实现折线图效果的代码
2007/04/28 PHP
PHP 实用代码收集
2010/01/22 PHP
php中inlcude()性能对比详解
2012/09/16 PHP
PHP错误和异长常处理总结
2014/03/06 PHP
php判断输入是否是纯数字,英文,汉字的方法
2015/03/05 PHP
PHP日志LOG类定义与用法示例
2018/09/06 PHP
JavaScript Archive Network 集合
2007/05/12 Javascript
JavaScript 打地鼠游戏代码说明
2010/10/12 Javascript
用js实现判断当前网址的来路如果不是指定的来路就跳转到指定页面
2011/05/02 Javascript
各浏览器对click方法的支持差异小结
2011/07/31 Javascript
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
通过pjax实现无刷新翻页(兼容新版jquery)
2014/01/31 Javascript
基于javascript实现最简单选项卡切换
2017/02/01 Javascript
详解如何用模块化的方式写vuejs
2017/12/16 Javascript
jQuery实现表单动态添加与删除数据操作示例
2018/07/03 jQuery
浅谈React之状态(State)
2018/09/19 Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
2019/07/26 Javascript
jquery弹窗时禁止body滚动条滚动的例子
2019/09/21 jQuery
jQuery操作元素追加内容示例
2020/01/10 jQuery
vue-simple-uploader上传成功之后的response获取代码
2020/09/07 Javascript
利用Python如何批量更新服务器文件
2018/07/29 Python
Python 20行简单实现有道在线翻译的详解
2019/05/15 Python
详解Python3 pickle模块用法
2019/09/16 Python
Python random库使用方法及异常处理方案
2020/03/02 Python
Python selenium文件上传下载功能代码实例
2020/04/13 Python
Python中使用socks5设置全局代理的方法示例
2020/04/15 Python
python与idea的集成的实现
2020/11/20 Python
python从ftp获取文件并下载到本地
2020/12/05 Python
pip install命令安装扩展库整理
2021/03/02 Python
美国知名奢侈美容品牌零售商:Cos Bar
2017/04/21 全球购物
环境工程大学生个人的自我评价
2013/10/08 职场文书
酒店周年庆活动方案
2014/08/21 职场文书
标准单位租车协议书
2014/09/23 职场文书
小学二年级班主任工作经验交流材料
2015/11/02 职场文书
导游词之北京明十三陵
2019/10/28 职场文书
Redis特殊数据类型bitmap位图
2022/06/01 Redis