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机器学习之决策树算法实例详解
Dec 06 Python
Python实现判断字符串中包含某个字符的判断函数示例
Jan 08 Python
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
May 04 Python
Django中使用Celery的教程详解
Aug 24 Python
在python中安装basemap的教程
Sep 20 Python
python做反被爬保护的方法
Jul 01 Python
在python中利用numpy求解多项式以及多项式拟合的方法
Jul 03 Python
django drf框架自带的路由及最简化的视图
Sep 10 Python
Python 面向对象之封装、继承、多态操作实例分析
Nov 21 Python
Django 自定义404 500等错误页面的实现
Mar 08 Python
python读取hdfs上的parquet文件方式
Jun 06 Python
Python基于httpx模块实现发送请求
Jul 07 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
自己动手做一个SQL解释器
2006/10/09 PHP
php 时间计算问题小结
2009/01/04 PHP
PHP数据类型的总结分析
2013/06/13 PHP
php实现源代码加密的方法
2015/07/11 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
2011/11/14 Javascript
js动态添加删除,后台取数据(示例代码)
2013/11/25 Javascript
js获取客户端网卡的IP地址、MAC地址
2014/03/26 Javascript
通过jquery 获取URL参数并进行转码
2014/08/18 Javascript
jQuery中offset()方法用法实例
2015/01/16 Javascript
JS Ajax请求如何防止重复提交
2016/06/13 Javascript
js 数组详细操作方法及解析合集
2018/06/01 Javascript
Python转码问题的解决方法
2008/10/07 Python
python中日志logging模块的性能及多进程详解
2017/07/18 Python
python实现扫描日志关键字的示例
2018/04/28 Python
让Django支持Sql Server作后端数据库的方法
2018/05/29 Python
pytorch对可变长度序列的处理方法详解
2018/12/08 Python
Python迭代器iterator生成器generator使用解析
2019/10/24 Python
Python Scrapy框架第一个入门程序示例
2020/02/05 Python
python读取配置文件方式(ini、yaml、xml)
2020/04/09 Python
Python3自动生成MySQL数据字典的markdown文本的实现
2020/05/07 Python
Python代码需要缩进吗
2020/07/01 Python
Python爬虫进阶之爬取某视频并下载的实现
2020/12/08 Python
Nisbets法国:英国最大的厨房和餐饮设备供应商
2019/03/18 全球购物
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
建筑专业自荐信
2013/10/18 职场文书
实习求职信
2013/12/01 职场文书
外贸业务员工作职责
2014/01/06 职场文书
员工生日会策划方案
2014/06/14 职场文书
优秀纪检干部材料
2014/08/27 职场文书
2015年药店店长工作总结
2015/04/29 职场文书
英文辞职信范文
2015/05/13 职场文书
办公室规章制度范本
2015/08/04 职场文书
canvas多重阴影发光效果实现
2021/04/20 Javascript
MySQL系列之二 多实例配置
2021/07/02 MySQL