03_Python程序调试工具-Spyder

内容摘要:前面讨论过Python程序撰写工具Jupyter,但我想大多数人更熟悉Matlab的集成调试环境,如果你用Python有没有这样类似的环境呢?今天我们就聊聊Spyder,一个与Matlab像的不能再像的集成开发环境(IDE)。下面我们就认识一下这个加速Python开发和程序调试的好工具!

前面介绍过Python以及Jupyter的web编辑环境。俗话所:工欲善其事必先利其器,如果用兵器来形容,Jupyter可以理解为刀,Spyder就是剑,设计模式算是心法吧。当你的武学修为到了一定程度,仅熟悉一种兵器肯定不够,Spyder就是你要升级的技能包。

Spyder是一个用于科学计算的使用Python编程语言的集成开发环境(IDE)。它结合了综合开发工具的高级编辑、分析、调试功能以及数据探索、交互式执行、深度检查和科学包的可视化功能,为用户带来了很大的便利。

Spyder不仅仅是一个代码编辑的舞台,还是一系列工具有机组合而成的一个生态系统。小哥相信你熟悉了环境之后,无疑会打开另一个多姿多彩的丰富世界。

1、熟悉界面

作为一个在Python用户中知名度很高的集成开发环境,Spyder自然有其独特之处(如果您是安装完整版的Anaconda,Spyder默认自动安装;如果您仅使用Miniconda,也可以通过pip命令来安装),启动后的界面如下(小哥用的是python3.7环境,spyder4.0版本):

图1 启动Spyder后的界面-4.0.0版本

安装Spyder后,下面我们看看它有那些特点:

  • 类MATLAB设计

Spyder在设计上参考了MATLAB,变量查看器模仿了MATLAB里“工作空间”的功能,并且有类似MATLAB的PYTHONPATH管理对话框,对熟悉MATLAB的Python初学者非常友好。

  • 资源丰富且查找便利

在Spyder中拥有变量自动完成、函数调用提示以及随时随地访问文档帮助的功能,并且其能够访问的资源及文档链接包括了Python、Matplotlib、NumPy、Scipy、Qt、IPython等多种工具及工具包的使用手册。

  • 对初学者友好

Spyder在其菜单栏中的【Help】里给新用户提供了交互式的使用教程以及快捷方式的备忘单,能够帮助新用户快速直观地了解Spyder的用户界面及使用方式。

  • 工具丰富,功能强大

Spyder里除了拥有一般IDE普遍具有的编辑器、调试器、用户图形界面等组件外,还具有对象查看器、变量查看器、交互式命令窗口、历史命令窗口等组件,除此之外还拥有数组编辑以及个性定制等多种功能。

2、代码编写

用惯了编译类语言,最常见的就是调试了。比如:跟踪变量、设置断点什么的。要实现这些目标,在Spyder都有。好了,吹了半天后,赶快具体介绍一下spyder环境的用法吧。

  • 快捷键和调试

一般来说调试的快捷键会设置为F5,它的调试是Ctrl+F5,还有逐步调试也不一样,总之为了方便,我把调试快捷键改成了习惯的方式。修改的方法是工具栏上的TOOL->Preferences->Keyboard shortcuts,然后相应地对快捷键进行修改。

断点的设置方式,一般来说断点是点击一次编辑区旁边的竖条,但是Spyder是两次,取消也是连击两次,个人非常不能理解为什么要这么设置。当然你也可以直接选择断点的快捷键,默认快键键是Ctrl+F12。

调试的时候还可以用pdb的库,用法是使用pdb.set_trace()可以设置断点

import pdb
pdb.set_trace()

下图就是代码中调用pdb的断点调试方法,出现ipdb>提示后,就可以查看内存中的变量啦!

图2 通过pdb设置断点
  • 提示与跟踪

代码提示,matlab的代码提示是输入函数的前几个字母然后按tab键,python则是先写个.然后按tab键。如果是创建的对象就直接写个.就有代码提示了。

摁住Ctrl,然后鼠标点击函数、变量等,会跳转到定义的代码块

注释的快捷键是ctr+1;查找函数定义位置:ctrl + g

~ps: 脚本的路径最好不要写中文,因为很有可能python认不出~

3、快捷键小结

  • Ctrl+1: 注释、取消注释
  • Ctrl+4/5: 块注释 / 取消块注释
  • F12: 断点 / 取消断点/在语句前进行双击
  • F5: 运行
  • Ctrl+F5: 启动调试
  • Ctrl+F10: 单步调试,跳过函数内部实现
  • Ctrl+F11: 单步调试,进入函数内部实现
  • F9: 从当前光标所在行开始执行
  • F8: 查看编译结果(包括Erro和Warning信息)
  • Ctrl+Shift+W: 关闭所有打开的 .py文件
  • Ctrl+Alt+←: 光标跳回之前所在位置
  • Ctrl+L:跳转到行号
  • F11:全屏
  • Tab:空行前是代码缩进;在输入一个字母后,按Tab健会自动补全或者代码提示。
  • Shift+Tab:撤销代码缩进

一句话总结:要想成为一个Pythonic用户,特别是当你大多数情况下是用本地计算资源在调试程序的时候,小哥认为在Win环境下Spyder当然是不二之选,其实Pycharm也是很好的IDE环境(商业的,有银子可以买),总之,萝卜青菜各有所爱,一个工具用好了就行。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容