第 1 章 Python简介

无论你是一名记者、分析师,还是初出茅庐的数据科学家,选择这本书可能是因为你想学习如何用编程来分析数据,得出结论,并将结论清楚地传达给别人。你可能会用报告、图表或归纳统计的方式来展示你的结论。重要的是,你想讲述一个故事。

传统的故事讲述或新闻报道往往使用单一的故事来描述总体结论或趋势。在这种故事中,数据成为了相对次要的部分。然而,其他讲故事的人,比如 Christian Rudde[Datacylsmhttp://dataclysm.org/)的作者,OkCupid 的创始人之一]认为数据本身应该是故事的重点。

首先,你需要确定想要研究的主题。你可能对研究不同人或群体的沟通习惯感兴趣,这时你可以从一个具体的问题入手,例如在网络上被人们广为分享的信息都有哪些特点。又或许你可能对棒球的历史统计数据感兴趣,并想弄清楚一个问题:这些数据能否表明棒球运动随时间发生了变化。

确定了感兴趣的领域之后,你需要寻找数据,以进一步探索这一主题。想研究人类行为,你可以从 Twitter API(https://dev.twitter.com/overview/api)中获取数据,研究人们在 Twitter 上分享的内容。如果想深入研究棒球历史,你可以使用 Sean Lahman 的棒球数据库(http://www.seanlahman.com/baseball-archive/statistics/)。

Twitter 和棒球数据集都属于综合的大型数据集。为了回答你的具体问题,应把这些数据集分成便于管理的小块,然后进行筛选和分析。有时,较小的数据集也同样有趣有料,尤其当你的主题是关于本地或区域问题时。让我们来看一个例子。

在写这本书的时候,本书的一位作者读到一篇关于她的公立高中母校 1 的文章(http://www.foxnews.com/on-air/fox-and-friends/blog/2014/05/20/manatee-high-school-charges-200-row-prime-seating-graduation)。文中写道,这所高中开始向每名即将毕业的学生收取 20 美元,并且对于毕业典礼上最好的几排座位,每排收取 200 美元。

1美国公立高中是政府办的学校,财政主要由当地社区的税收资助。孩子们在这里上学受教育是免费的,或只需花父母很少的钱。

据当地新闻报道:“学区今年财政困难,撤出了 3400 美元的资助。新的收费是为了支付海牛高中约 12 000 美元的毕业典礼费用而采取的措施之一。”

这篇文章解释了毕业典礼花费远高于学区预算的原因。然而文中并没有解释学区今年为何无法像往年一样进行资助。所以我们仍有疑问:海牛郡学区的财政为何如此困难,以至于无法像往年一样资助毕业班级?

调查之初所提出的疑问,往往会引出更深入的疑问,直指问题的本质。例如,学区把钱都花到了什么地方?学区的开支模式近些年发生了哪些变化?

确定了具体的主题和要回答的问题,可以让我们明确需要寻找哪些数据。在提出上述问题后,我们要寻找的第一个数据集就是海牛郡学区的开支和预算数据。

在继续讨论之前,我们先简单回顾一下整个过程,从开始确定问题一直到最终的故事(见图 1-1)。

第 1 章 Python简介 - 图1

图 1-1:数据处理过程

一旦确定了问题,你就可以开始提出有关数据的问题,例如:哪些数据集最能帮助我讲好故事?哪些数据集能帮助我深入探索这一主题?总的主题是什么?哪些数据集与这些主题相关?谁会记录并保存这些数据?可以公开获取这些数据集吗?

第 1 章 Python简介 - 图2 在开始讲故事时,你应该专心研究想要回答的问题。然后你可以找出哪些数据集对你是最有价值的。在这个初始阶段,不要过分纠结于分析数据的工具或数据处理过程。

寻找数据集

如果使用搜索引擎来寻找数据集,你不一定总能找到最合适的。有时你需要在一个网站中仔细寻找数据。即使数据难以找到或难以获取,也一定不要放弃!

如果你的主题出现在一份调查或报告中,或者某个特定的机构或组织可能会收集关于这一主题的数据,你应该去查找联系人号码,并联系研究人员或组织。礼貌而直接地询问如何能够访问他们的数据。如果数据集属于政府部门(联邦、州或地方),那么根据(美国)信息自由法案(https://en.wikipedia.org/wiki/Freedomof_Information_Act(United_States)),你也许可以合法地直接获取这些数据。我们将在第 6 章中更全面地讨论数据获取。

一旦确定了需要的数据集并获取了这些数据,你需要将其转换成可用的格式。在第 3、4、 5 章中,你将会学习各种方法,用于通过编程的方式获取数据并对其进行格式转换。第 6 章讲的是在获取数据时如何与不同的人打交道,并稍稍提到合法性的问题。在第 3 章至第 5 章中,我们还将介绍如何从 CSV、Excel、XML、JSON 和 PDF 文件中提取数据。在第 11、12、13 章中,你将会学习如何从网站和 API 中提取数据。

第 1 章 Python简介 - 图3 如果你不认识某些缩写词,别担心!在遇到这些缩写词时我们会详细解释,也会一并解释其他你可能不熟悉的技术术语。

在取得数据并转换格式后,你将开始初步的数据探索。你将会探寻数据中可能隐藏的所有故事,同时判断哪些故事有用,哪些故事可以舍弃。你还可以把数据分组,观察各组之间的变化趋势。然后还可以将数据集合并,寻找其中的关联,发现更大的趋势,并发现潜在的矛盾之处。在这一过程中,你将学习如何清洗数据,发现并解决隐藏在数据集中的问题。

在第 7 章和第 8 章中你将学习如何解析与清洗数据。你既可以使用 Python,也可以探索其他开源工具。在讨论可能遇到的数据问题时,你将学会应该选择哪种方法清洗数据:是写一个清洗脚本,还是使用现成的方法。在第 7 章中,我们将讲到如何处理常见的错误,如重复记录、离群值与格式化问题。

在确定你要讲述的故事,清洗并处理数据之后,我们将探讨如何利用 Python 来展示数据。你将学习用各种形式来讲故事,并比较不同的发布方式。在第 10 章中,你将学习在网站上展示与组织数据的基本方法。

第 14 章将使数据分析过程规模化,让你可以在更短的时间内处理更多的数据。我们将对存储与获取数据的方法进行分析,并研究在云中使数据规模化的方法。

第 14 章还将讨论如何完成一次性的项目,并使其能够自动完成。通过自动化过程,你可以将一次性的特殊报告变成年度报告。这种自动化可以让你专注于改善讲故事的过程,继续讲下一个故事,或者至少续杯咖啡。本书主要使用的工具是 Python 编程语言。在我们讲故事过程的每一步,从最初的探索直到标准化与自动化,都会用到 Python。

1.1 为什么选择Python

有那么多种编程语言,本书为什么选择使用 Python ?你可能听说过以下这些语言中的一种或多种:R、MATLAB、Java、C/C++、HTML、JavaScript 和 Ruby,这取决于你的专业背景。这些语言都有一种或多种主要用途,有些还可以用于数据处理。你也可以用 Excel 等程序进行数据处理。用 Excel 和 Python 编程,通常会得到相同的结果,但其中一种语言的效率更高。然而有时候,像 Excel 这样的程序无法完成任务。我们选择 Python 而不是其他语言,是因为 Python 很容易上手,处理数据的过程也简单明了。

如果你想了解 Python 和其他语言的技术性区别,可查阅附录 A。看完里面的解释,你就可以告诉其他分析师或开发人员你使用 Python 的原因。我们相信作为开发新人,你会从 Python 的易用性中受益,同时我们希望本书能成为你的数据处理工具箱中有参考价值的一本书。

Python 除了上述作为语言的优点,Python 社区还是最开放和最乐于助人的社区之一。世上没有完美的社区,但 Python 社区为新人创造了一个良好的环境:有时会有本地的教程、免费课堂、线下聚会等,有时还会举办大型会议,人们聚在一起解决问题并分享知识。

拥有大型社区的好处显而易见——有人能回答你的问题,有人能为你的代码或模块的结构出谋划策,有人能让你学习借鉴,还有共享代码供你在其之上构建自己的代码。想了解更多的内容,可查阅附录 B。

社区因成员的支持而存在。刚开始使用 Python 时,你从社区中得到的帮助会多于你的付出。但即使你不是专家,也可以为社区做很多贡献。我们鼓励你分享你的问题和解决方法。这会帮到下一个遇到相同问题的人,你也可能会在开源工具中发现需要处理的 bug。

第 1 章 Python简介 - 图4 在现阶段,你是从新鲜视角看待问题,而 Python 社区的很多成员已经不再这样看待问题了。当开始敲 Python 代码时,你应该把自己当作编程社区的一员。你的贡献与那些有 20 年编程经验的人一样重要。

言归正传,我们开始讲 Python。

1.2 开始使用Python

编程的第一步是最难的。(其难度和你学习走路时迈的第一步没有什么不同!)回想一下你培养新爱好或学习新运动的时候。在入门 Python(或任何其他编程语言)时,你将会遇到类似的焦虑和障碍。或许你很幸运,有一个优秀的导师帮你迈出第一步。如果没有的话,你可能已经历过类似的挑战。无论你如何迈出第一步,一定要记住,这个阶段往往是最艰难的。

第 1 章 Python简介 - 图5 我们希望本书可以成为你的入门指南,但它无法替代优秀的导师或使用 Python 的丰富经验。在本书中,我们提供了一些资源和网站信息,以便你在遇到书中没有讲到的问题时有所参考。

为了避免浪费太多时间进行大量配置和高级安装,我们的 Python 环境将采用最简单的初始安装。在接下来的几节中,我们将选定 Python 版本,安装 Python 以及一个可以帮助我们使用外部代码和库的工具(pip),并安装代码编辑器,以便编写并运行代码。

1.2.1 Python版本选择

你需要选择使用哪个版本的 Python。Python 版本实际上指的是 Python 解释器的版本。解释器让你可以在计算机上读写并运行 Python。维基百科(https://en.wikipedia.org/wiki/Interpreter_(computing))是这样描述解释器的:

在计算机科学中,解释器是一种计算机程序,可以直接运行用编程语言或脚本语言编写的指令,而无需事先将其编译成机器语言程序。

没有人会让你背诵这个定义,所以即使你没有完全理解也不必担心。本书的作者之一 Jackie 刚开始编程的时候,无法理解入门书中“批处理编译”(batch compiling)这一概念,所以她就卡在这一部分无法继续读下去。如果她连这都不懂,怎么能编程呢?我们在后面会讨论编译的话题,但是现在将上述定义总结如下:

解释器是读取并运行 Python 代码的计算机程序。

Python(或 Python 解释器)主要有两个版本:Python 2.X 和 Python 3.X。Python 2.X 的最新版本是 Python 2.7,这也是本书使用的 Python 版本。Python 3.X 的最新版本是 Python 3.5,这也是最新可用的 Python 版本。目前你可以认为 Python 2.7 的代码无法在 Python 3.4 中运行。专业的说法是,Python 3.4 破坏了向后兼容

你可以写出同时兼容 Python 2.7 和 Python 3.4 的代码,但这既非本书的要求,也不是本书的重点。一开始就在这件事情上花费大量精力,就好比住在佛罗里达州的人担心如何在雪中开车一样 2。有一天你可能会需要这项技能,但此时此刻这并不是你需要关注的重点。

2美国佛罗里达州又名“阳光之州”,一年四季很少下雪。——译者注

有些读者可能会好奇我们为何决定使用 Python 2.7 而不是 Python 3.4。这个话题在 Python 社区中是很有争议的。Python 2.7 是被广泛使用的版本,而 Python 3.X 正在被逐步接受。我们之所以选择 Python 2.7,是想保证你能够找到容易阅读且容易获取的资源,并确保你的操作系统及服务支持你使用的 Python 版本。

第 1 章 Python简介 - 图6 本书中的很多代码在 Python 3 中也可以运行。如果你想在 Python 3 中运行其中一些示例,当然可以;但我们更希望你专注于学习 Python 2.7,在学完本书后再继续学习 Python 3。为了兼容 Python 3 需要修改代码,想了解这方面的更多内容,可以查看官方更改文档:https://docs.python.org/3.0/whatsnew/3.0.html

在阅读本书的过程中,你会用到自己编写的代码,还会用到其他(牛)人编写的代码。这些外部代码大部分都可以在 Python 2.7 下运行,但可能无法兼容 Python 3.4。如果你正在使用 Python 3 的话,需要重写代码(如果对遇到的每一段代码都要进行重写和编辑,这会浪费大量的时间,你可能很难完成第一个项目)。

把你的第一段代码当作草稿,以后你可以回来进一步修订完善。现在我们开始来安装 Python。

1.2.2 安装Python

好消息是,Python 可以在所有操作系统上运行。坏消息是,不同操作系统的安装方法有所不同。按照 Python 编程的流行程度排序,我们将讨论两个主要的操作系统:Mac OS X 和 Windows。如果你用的是 Mac OS X 或 Linux,可能已经安装了 Python。想了解更详细的安装过程,我们推荐以你的 Linux 发行版加“Python 高级安装”(advanced Python setup)为关键词在 Web 上搜索,以寻求更多建议。

第 1 章 Python简介 - 图7 与 Windows 系统相比,在 OS X 系统和 Linux 系统上安装和运行 Python 要容易一些。想深入了解这种差异存在的原因,我们推荐阅读 Windows 和基于 Unix 的操作系统的历史。可以对照阅读这两篇文章:一篇是 Hadeel Tariq Al-Rayes 写的“Studying Main Differences Between Linux & Windows Operating Systems”(http://www.ijens.org/vol_12_i_04/126704-8181-ijecs-ijens.pdf),文中的观点支持 Unix;另一篇是微软的“Functional Comparison of UNIX and Windows”(https://technet.microsoft.com/en-us/library/bb496993.aspx)。

如果你用的是 Windows,应该也可以运行所有的代码;但是在 Windows 下可能还需要安装代码编译器和额外的系统库,以及设置环境变量。

为了安装 Python 并能正常使用,请根据你的操作系统安装提示,按照相应的步骤来操作。我们还将进行一系列的测试,确保一切正常运行,然后才能进入下一章。

  • Mac OS X系统

首先打开终端(http://en.wikipedia.org/wiki/Terminal_(OS_X)),一个让你可以和计算机进行交互的命令行界面。个人计算机(PC)刚刚出现时,你只能通过命令行界面与计算机交互。现在大多数人用的都是图形界面操作系统,因为这种操作系统访问更方便,用户也更加广泛。

有两种方法可以在计算机上找到终端。第一种方法是通过 OS X 系统的 Spotlight。点击 Spotlight 图标——屏幕右上角的放大镜——输入“Terminal”。然后选择出现在“应用程序”(Applications)类别旁边的图标。

选定之后,会弹出一个类似图 1-2 中的小窗口(请注意,你的 Mac OS X 版本不同,界面可能也会有所不同)。

{%}

图 1-2:利用 Spotlight 搜索终端

你还可以通过 Finder 启动终端。终端位于“实用工具”(Utilities)文件夹:应用程序(Applications)→实用工具(Utilities)→终端(Terminal)。

选择并启动终端后,你应该会看到类似图 1-3 的界面。

{%}

图 1-3:新打开的终端窗口

现在最好在适当的位置(比如在 Dock 中)创建终端的快捷方式,这样以后启动终端会比较方便。你只需在 Dock 中的终端图标上点击右键,依次选择“选项”(Options)和“在 Dock 中保留”(Keep in Dock),即可创建终端的快捷方式。运行本书中的每一个练习都需要启动终端。

大功告成。Mac 电脑预装了 Python,你无需再做其他事情。如果你想设置计算机使其能够使用后面的高级库,请查看附录 D。

  • Windows 8和Windows 10

Windows 并没有预装 Python,但有专门的 Python 安装程序(https://www.python.org/downloads/windows/)。你需要弄清楚你的 Windows 是 32 位还是 64 位(http://windows.microsoft.com/en-us/windows7/find-out-32-or-64-bit)。如果你用的是 64 位 Windows,需要从下载页面下载 x86-64 MSI 安装程序;如果不是 64 位的话,你可以下载 x86 MSI 安装程序。

下载好安装程序之后,只需双击它,按照提示一步步安装即可。我们建议选择为所有用户安装。点击靠近选项的方框选中全部,同时选择在硬盘上安装 Python 特性(见图 1-4)。

{%}

图 1-4:利用安装程序添加 Python 特性

成功安装 Python 后,你需要将 Python 加入到环境设置中。这样你就可以在 cmd 工具(Windows 下的命令行界面)中与 Python 交互。要做到这一点,只需在计算机中搜索“环境变量”(environment variable)。选择“编辑系统环境变量”(Edit the system environment variables)选项,然后点击“环境变量…”(Environment Variables…)按钮(见图 1-5)。

{%}

图 1-5:编辑环境变量

将“系统变量”(System variables)列表下拉,选择 Path 变量,然后点击“编辑”(Edit)。如果列表中找不到 Path 变量,点击“新建”(New)创建一个新的 Path 变量。

将下列内容添加到 Path 变量的末尾,注意每一个路径之间要用分号隔开(包括已有内容末尾的分号):

  1. C:\Python27;C:\Python27\Lib\site-packages\;C:\Python27\Scripts\;

Path 变量的末尾应该类似图 1-6 所示。编辑好环境变量之后,点击“确定”(OK)来保存设置。

{%}

图 1-6:将 Python 加入 Path 系统变量

1.2.3 测试Python

现在你应该已经打开命令行(终端或 cmd3),准备启动 Python。在 Mac 上命令行的结尾应该是 $ 符号,在 Windows 上应该是 > 符号。在提示符后输入 python,然后按 Return(或 Enter)键:

3想在 Windows 上打开 cmd 工具,只需搜索“命令提示符”(Command Prompt),或者打开“所有程序”(All Programs),依次选择“附件”(Accessories)和“命令提示符”(Command Prompt)。

  1. $ python

一切正常的话,你应该会看到 Python 提示符(>>>),如图 1-7 所示。

{%}

图 1-7:Python 提示符

对于 Windows 用户,如果没有出现 Python 提示符,请检查 Path 变量的设置是否正确(如前文所述),软件是否均已正确安装。如果你用的是 64 位版本,可能需要卸载 Python(可以用下载的 MSI 文件对 Python 安装进行修改、卸载和修复),并尝试安装 32 位版本。这样还不行的话,我们建议你将安装过程中遇到的具体错误信息放到网上去搜索。

第 1 章 Python简介 - 图14 >>>$> 的对比

Python 提示符与系统提示符(在 Mac/Linux 上是 $,在 Windows 上是 >)有所不同。初学者往往犯这样的错误:在默认的终端提示符后面输入 Python 命令,而在 Python 解释器中输入终端命令。两种情况都会报错。遇到报错时,记住上面这两种错误,检查确认你只在 Python 解释器中输入 Python 命令。

如果把本应输入到系统终端的命令输入到 Python 解释器中,可能会出现 NameError(命名错误)或 SyntaxError(语法错误)。而如果在系统终端中输入 Python 命令,可能会出现 bash 错误 Command not found

Python 解释器启动时给出了几行有用的信息。其中一行显示的是我们正在使用的 Python 版本(图 1-7 中显示的是 Python 2.7.5)。这一信息在错误排查过程中非常重要,因为有些时候,某些命令或工具可以在这一版本的 Python 中正常运行,在另一版本中却无法正常运行。

下面我们用 import 语句来快速测试一下 Python 的安装是否成功。在 Python 解释器中输入下列代码:

  1. import sys
  2. import pprint
  3. pprint.pprint(sys.path)

代码的输出应该是一个列表,列表里面是你计算机中的许多目录或位置。这个列表给出的是 Python 程序寻找 Python 文件的具体位置。当你想要排查 Python 的模块导入错误时,这一组命令十分有用。

下面是一个输出实例(你的计算机输出的列表可能会有所不同;还需要注意的是,为了适应本书的页面宽度,对某些内容进行了折行):

  1. ['',
  2. 'usrlocal/lib/python2.7/site-packages/setuptools-4.0.1-py2.7.egg',
  3. 'usrlocal/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg',
  4. 'usrlocal/Cellar/python/2.7.7_1/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
  5. 'usrlocal/Cellar/python/2.7.7_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
  6. 'usrlocal/Cellar/python/2.7.7_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
  7. 'LibraryPython/2.7/site-packages',
  8. 'usrlocal/lib/python2.7/site-packages']

如果代码运行失败,你会得到错误信息。调试 Python 错误最简单的方法就是阅读错误信息。例如,如果你输入的是 import sus 而不是 import sys,你会看到以下输出:

  1. >>> import sus
  2. Traceback (most recent call last):
  3. File "<stdin>", line 1, in <module>
  4. ImportError: No module named sus

阅读最后一行:ImportError: No module named sus。这句话的意思是出现了模块导入错误,因为 Python 中没有 sus 模块。Python 搜遍计算机中的文件,没有找到名为 sus 且可导入的 Python 文件或文件夹。

如果在敲本书代码时犯了拼写错误,可能会引发语法错误。在接下来的例子中,我们故意把 pprint.pprint 拼错,输入的是 pprint.print(sys.path())

  1. >>> pprint.print(sys.path())
  2. File "<stdin>", line 1
  3. pprint.print(sys.path())
  4. ^
  5. SyntaxError: invalid syntax

上面我们是故意输错的,但在本书的写作过程中,本书的一位作者真的输错了这行代码。你要习惯于在出现错误时排查并解决错误。你也应该承认,作为开发人员,错误是学习过程的一部分。我们希望你能对错误习以为常。你应该把错误看作一次学习的机会,可以让你学习 Python 和编程的新知识。

模块导入错误和语法错误都是代码开发过程中最常见的错误,并且也是最容易解决的。在遇到错误时,网络搜索引擎是帮你处理错误的得力助手。

在进入下一节之前,一定要退出 Python 编辑器。这样你就回到了终端或 cmd 的提示符界面。输入以下代码来退出 Python:

  1. exit()

现在你的提示符应该变回了 $(Mac/Linux)或 >(Windows)。在下一章中我们将进一步研究 Python 解释器。接下来我们来安装一个叫作 pip 的工具。

1.2.4 安装pip

pip(http://pip.readthedocs.org/en/latest/)是用于管理 Python 共享代码和库的命令行工具。程序员经常会解决相同的问题,所以会分享他们的代码来帮助他人。这也是开源软件文化的一个重要组成部分。

Mac 用户可以通过在终端中运行下载的简单 Python 脚本来安装 pip(https://pip.pypa.io/en/latest/installing/#install-pip)。你需要与下载的脚本处于同一文件夹。例如,如果你将脚本下载到 Downloads 文件夹中,你需要在终端中进入这个文件夹。在 Mac 上有一种简单的方法,按住 Command 键(Cmd),然后把 Downloads 文件夹拖入终端中。另一种方法是输入一些简单的 bash 命令(附录 C 中有对 bash 更全面的介绍)。首先在终端中输入以下命令:

  1. cd ~/Downloads

这条命令将计算机的目录切换到主文件夹下的 Downloads 子文件夹。为了检查你是否位于 Downloads 文件夹下,在终端中输入以下命令:

  1. pwd

这条命令可以在终端中显示你的当前工作目录,即你现在位于的文件夹。它的输出应该是类似下面这样的内容:

  1. Usersyour_name/Downloads

如果输出没问题,你只需用这个命令就可以运行该文件:

  1. sudo python get-pip.py

由于你运行的是 sudo 命令(你正在用特殊权限运行该命令,这样才可以在受限区域安装软件包),系统会提示你输入密码。你应该可以看到安装软件包的一系列提示信息。

第 1 章 Python简介 - 图15 Windows 上可能已经安装了 pip(Windows 的 Python 安装包自带 pip)。要 检查是否安装了 pip,你可以在 cmd 工具中输入 pip install ipython。如果系统报错的话,去下载 pip 安装脚本,用 chdir C:\Users\YOUR_NAME\Downloads 命令将目录切换到 Downloads 文件夹(把 YOUR_NAME 换成你计算机主目录的名字)。然后,你应该可以输入 python get-pip.py 来运行下载的文件。你需要管理员权限来确保正确安装。

在使用 pip 时,你的计算机在 PyPI(https://pypi.python.org/pypi)上搜索指定的代码包或代码库,将其下载到计算机中并安装。你无需使用浏览器来下载代码库,省去了许多麻烦。

安装工作已经基本完成。最后一步是安装代码编辑器。

1.2.5 安装代码编辑器

在写 Python 代码时需要一个代码编辑器,因为 Python 需要特殊的间距、缩进和字符编码才能正常运行。有多种代码编辑器可供选择。本书的一位作者使用 Sublime。它是免费的,但在你使用一段时间后会建议你象征性地支付一点费用,以支持当下和未来的开发。你可以在 http://www.sublimetext.com 下载 Sublime。另一款完全免费且跨平台的文本编辑器是 Atom(https://atom.io)。

有些人对代码编辑器比较挑剔。你不一定要使用我们推荐的编辑器,但我们建议不要使用 Vim、Vi 或 Emacs,除非你用过这些工具。一些编程的纯粹主义者只用这些工具来写代码(本书的一位作者就是这样),因为他们可以完全用键盘来操纵编辑器。但是,如果你没有任何经验就选择这些编辑器的话,可能会在阅读本书的过程中困难重重,因为你要同时学习两件事情。

第 1 章 Python简介 - 图16 一次只学习一件事情,多试用几款编辑器,直到找到可以让你轻松自如写代码的那一款。对于 Python 开发来说,最重要的是要有一款用起来舒服的编辑器,同时支持许多文件类型(能支持 Unicode 和 UTF-8)。

下载选定的编辑器并安装之后,运行程序检查是否安装成功。

1.2.6 安装IPython(可选)

如果你想安装更高级的 Python 解释器,我们推荐安装一个叫 IPython 的库(下载地址: http://ipython.org/install.html)。在附录 F 中我们讲了 IPython 的优点、用例,以及如何安装 IPython。IPython 并不是必需的,但它在 Python 入门阶段十分有用。

1.3 小结

本章我们学习了两个常见的 Python 版本。为了能够继续学习数据处理,我们还完成了一些初始安装工作:

(1) 我们安装并测试了 Python;

(2) 我们安装了 pip;

(3) 我们安装了代码编辑器。

想要入门 Python,这是最基本的安装。随着对 Python 和编程的深入学习,你会发现还有更复杂的安装与设置。现在我们的目标是让你尽快上手,而不是纠结于繁琐的安装过程。如果你想了解更高级的 Python 安装内容,请查阅附录 D。

在阅读本书的过程中,你可能会用到需要高级安装的工具。那时我们将教你如何从现有基本安装中创建更复杂的安装。现在,我们之前讲的安装内容已经可以让你迈出学习 Python 的第一步了。

恭喜,你已经完成了初始安装,还第一次运行了几行 Python 代码!在下一章里,我们将开始学习 Python 的基本概念。