返回介绍

1.2 开始使用 Python

发布于 2024-01-27 21:43:11 字数 12543 浏览 0 评论 0 收藏 0

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

 我们希望本书可以成为你的入门指南,但它无法替代优秀的导师或使用 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 版本。

 本书中的很多代码在 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 上搜索,以寻求更多建议。

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

01. 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。

02. 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 变量的末尾,注意每一个路径之间要用分号隔开(包括已有内容末尾的分号):

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)。

$ python

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

图 1-7:Python 提示符

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

 >>>$> 的对比

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 解释器中输入下列代码:

import sys
import pprint
pprint.pprint(sys.path)

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

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

['',
 '/usr/local/lib/python2.7/site-packages/setuptools-4.0.1-py2.7.egg',
 '/usr/local/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg',
 '/usr/local/Cellar/python/2.7.7_1/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
 '/usr/local/Cellar/python/2.7.7_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
 '/usr/local/Cellar/python/2.7.7_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
 '/Library/Python/2.7/site-packages',
 '/usr/local/lib/python2.7/site-packages']

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

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

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

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

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

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

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

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

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 更全面的介绍)。首先在终端中输入以下命令:

cd ~/Downloads

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

pwd

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

/Users/your_name/Downloads

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

sudo python get-pip.py

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

 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,除非你用过这些工具。一些编程的纯粹主义者只用这些工具来写代码(本书的一位作者就是这样),因为他们可以完全用键盘来操纵编辑器。但是,如果你没有任何经验就选择这些编辑器的话,可能会在阅读本书的过程中困难重重,因为你要同时学习两件事情。

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

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

1.2.6 安装IPython(可选)

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文