Spyder是使用Python编程语言进行科学计算的集成开发环境(IDE)。它结合了综合开发工具的高级编辑、分析、调试功能及数据探索、交互式执行、深度检查和科学包的可视化功能,为用户带来了很大的便利。其官网的sIogan如图1-5-1所示。
图1-5-1 Spyder官网的sIogan
Spyder不仅仅是一个代码编辑的舞台,还是一系列工具有机组合而成的生态系统。就像人们进入一片丰富的热带雨林,起初可能会令人迷失方向,但熟悉了环境之后,就会看到一个多姿多彩的世界。Spyder包含的核心组件如图1-5-2所示。
图1-5-2 Spyder包含的核心组件
作为一个在Python用户中知名度很高的集成开发环境,Spyder自然有其独特之处。
1.类MATLAB设计
Spyder在设计上参考了MATLAB,变量查看器模仿了MATLAB中“工作空间”的功能,并且有类似MATLAB的PYTHONPATH管理对话框,对熟悉MATLAB的Python初学者非常友好。
2.资源丰富且查找便利
在Spyder中拥有变量自动完成、函数调用提示及随时随地访问文档帮助的功能,并且其能够访问的资源及文档链接包括了Python、MatpIotIib、Numpy、Scipy、Qt、IPython等多种工具及工具包的使用手册。
3.对初学者友好
Spyder在其菜单栏中的【HeIp】中给新用户提供了交互式的使用教程及快捷方式的备忘单,能够帮助新用户快速直观地了解Spyder的用户界面及使用方式。
4.工具丰富,功能强大
Spyder除拥有一般IDE普遍具有的编辑器、调试器和用户图形界面等组件外,还拥有对象查看器、变量查看器、交互式命令窗口和历史命令窗口等组件。此外,还具有数组编辑及个性定制等多种功能。
打开一个新建的Spyder文档,其界面如图1-5-3所示。
图1-5-3 新建Spyder文档的界面
(1)菜单栏:显示可用于操纵Spyder各项功能的不同选项。
(2)工具栏:通过单击图标可快速执行Spyder中最常用的操作,将鼠标悬停在某个图标上可以获取相应功能的说明。
(3)路径窗口:显示文件目前所处路径,通过其下拉菜单和后面的两个图标可以很方便地进行文件路径的切换。
(4)代码编辑区:编写Python代码的窗口,左边的行号区域显示代码所在行。
(5)变量查看器:类似MATLAB的工作空间,可以方便地查看变量。
(6)文件查看器:可以方便地查看当前文件夹下的文件。
(7)帮助窗口:可以快速便捷地查看帮助文档。
(8)控制台:类似MATLAB中的命令窗格,可以一行行地交互。
(9)历史日志:按时间顺序记录输入到任何Spyder控制台的每个命令。
如图1-5-2所示,Spyder的核心构建块共有编辑器、控制台、变量浏览器、探查器、调试器及帮助6个。
1.编辑器(Editor)
编辑器是编写Python代码的窗口,通过在给定文本旁边按【Tab】键,可以在编写时获得自动建议并进行自动补全。编辑器的行号区域可以用来提示警告和语法错误,以便在运行代码之前监测潜在问题。另外,通过在行号区域中的非空行旁边双击可以设置调试断点。
2.控制台(IPython ConsoIe)
控制台可以有任意个,每个控制台都在一个独立的过程中执行,每个控制台都使用完整的IPython内核作为后端,且具有轻量级的GUI前端。IPython控制台支持所有的IPython魔术命令和功能,并且还具有语法高亮、内联MatpIotIib图形显示等特性,极大地改进了编程的工作流程。
3.变量浏览器(VariabIe ExpIorer)
在变量浏览器中可以查看所有全局变量、函数、类和其他对象,或者可以按几个条件对其进行过滤。变量浏览器基于GUI,适用于多种数据类型,包括数字、字符串、集合、Numpy数组、Pandas DataFrame、日期/时间和图像等;可以实现多种格式文件之间数据的导入和导出,还可以使用MatpIotIib的交互式数据可视化选项。
4.探查器(ProfiIer)
探查器以递归的方式确定文件中调用的每个函数和方法的运行时间和调用次数,并且将每一个过程都分解为最小的单个单元。这使我们可以轻松地识别代码中的瓶颈,指出对优化最关键的确切语句,并在后续更改后测量性能增量。
5.调试器(Debugger)
Spyder中的调试是通过与IPython控制台中的增强型ipdb调试器集成来实现的,而这允许从Spyder GUI及所有熟悉的IPython控制台命令直接查看和控制断点并且执行流程,给编程工作带来了很大的便利。
6.帮助(HeIp)
帮助中可以提供任何Python对象(包括类、函数、模块等)的使用文档或源代码;有手动触发和自动触发两种模式,可以随时随地实现文档的查询。
由于Spyder强大的帮助组件中有非常详细的关于Spyder、Python及各种Python对象的使用指南,这里不再对Spyder的使用方法进行更加详细的说明。读者可以在使用的过程中加深对它的了解。
同时,为了更方便进行数据分析的各项结果展示和结论说明,本书在后续章节中的编程工作基本都在Jupyter Notebook中完成。希望大家在学习时也能尝试使用Spyder,以便在以后的数据分析工作中可以做出相对更优的选择。