Py学习  »  Python

Python数据科学实践 | Spyder入门

狗熊会 • 4 年前 • 966 次点击  
点击上方蓝字,记得关注我们!

大家好,基于Python的数据科学实践课程第三期又到来了,大家尽情学习吧。本期内容主要由春艳同学与政委联合推出。

图1:Spyder在Anaconda中集成的图标

上一节,我们主要介绍了使用conda常用命令行来管理数据科学环境(回顾链接)。有了环境你是否就想大展拳脚了呢。呵呵,事情没那么简单。大家可以回想一下和其他语言的学习(例如R语言),你就算会了一套功(语)夫(言),你也要有个好的兵(工)器(具)去施展它。类比于R语言,Rstudio是如此强大的兵器,完美的集成开发环境(Integrated development enviroment)。那么Python我们用什么呢?这里Anaconda再一次为我们解决了问题,它集成了一个非常强大的兵器供大家使用,这就是我们今天要介绍的Spyder


Spyder入门

01
Spyder——Python编程的“热带雨林”


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

图2  Spyder Slogan截图

Spyder不仅仅是一个代码编辑的舞台,还是一系列工具有机组合而成的一个生态系统。就像一片丰富的热带雨林,起初可能会让你有些摸不着头脑,但熟悉了环境之后,就是一个多姿多彩的丰富世界。

图3  Spyder包含的核心组件


02
Spyder的特点


作为一个在Python用户中知名度很高的集成开发环境,Spyder自然有其独特之处:

●   类MATLAB设计

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

●  资源丰富且查找便利

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

●  对初学者友好

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

●  工具丰富,功能强大

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


03
Spyder的用户界面组件


当我们打开一个新建的Spyder文档时,会看到如下界面:

图4  新建Spyder界面

●  菜单栏(Menu bar):显示可用于操纵Spyder各项功能的不同选项。

●  工具栏(Tools bar):通过单击图标可快速执行Spyder中最常用的操作,将鼠标悬停在某个图标上可以获取相应功能说明。

●  路径窗口(Python path):显示文件目前所处路径,通过其下拉菜单和后面的两个图标可以很方便地进行文件路径的切换。

●  代码编辑区(Editor):编写Python代码的窗口,右边的行号区域显示代码所在行。

●  变量查看器(Variable explorer):类似MATLAB的工作空间,可以方便地查看变量。

●  文件查看器(File explorer):可以方便地查看当前文件夹下的文件。

●  帮助窗口(Help):可以快速便捷地查看帮助文档。

●  控制台(IPython console):类似MATLAB中的命令窗格,可以一行行地交互。

●  历史日志(History log):按时间顺序记录输入到任何Spyder控制台的每个命令。


04
Spyder的核心构建块


如图3所示,Spyder的核心构建块共有编辑器、控制台、变量浏览器、探查器、调试器以及帮助六个。

●  编辑器(Editor)

编辑器是编写Python代码的窗口,通过在给定文本旁边按tab键,可以在编写时获得自动建议并进行自动补全。编辑器的行号区域可以用来提示警告和语法错误,帮助我们在运行代码之前监测潜在问题。另外,通过在行号区域中的非空行旁边双击可以设置调试断点。

●  控制台(IPython console)

控制台可以有任意数量个,每个控制台都在一个独立的过程中执行,每个控制台都使用完整的IPython内核作为后端,且具有轻量级的GUI前段。IPython控制台支持所有的IPython魔术命令和功能,并且还具有语法高亮、内联Matplotlib图形显示等特性,极大地改进了编程的工作流程。

●  变量浏览器(Variable explorer)

在变量浏览器中我们可以查看所有全局变量、函数、类和其他对象,或者可以按几个条件对其进行过滤。变量浏览器基于GUI,适用于多种数据类型,包括数字、字符串、集合、NumPy数组、Pandas DataFrame、日期/时间、图像等。并且可以实现多种格式文件之间数据的导入和导出,还可以使用Matplotlib的交互式数据可视化选项。

●  探查器(Profiler)

探查器以递归的方式确定文件中调用的每个函数和方法的运行时间和调用次数,并且将每一个过程都分解为最小的单个单元。这使我们可以轻松地识别代码中的瓶颈,指出对优化最关键的确切语句,并在后续更改后测量性能增量。

●  调试器(Debug)

Spyder中的调试是通过与IPython控制台中的增强型ipdb调试器集成来实现的,而这允许从Spyder GUI以及所有熟悉的IPython控制台命令直接查看和控制断点并且执行流程,给编程工作带来了很大的便利。

●  帮助(Help)

帮助中可以提供任何Python对象(包括类、函数、模块等)的使用文档或源代码。并且可以有手动触发和自动触发两种模式,随时随地可以实现文档的查询。


由于Spyder强大的帮助组件里面有非常详细的关于Spyder、Python以及各种Python对象的使用指南,这里不再对Spyder的使用方式进行更加详细的说明。大家可以自己在使用的过程中去加深对它的了解。

PS: 大家可以脑补一下MATLAB与RStudio的使用。由于界面基本相似,可以直接上手尝试。



往期精彩回顾
初步搭建数据科学工作环境
Conda的使用


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/34509
 
966 次点击