Python编程:从入门到实践
上QQ阅读APP看书,第一时间看更新

第1章 起步

在本章中,你将运行自己的第一个程序——hello_world.py。为此,你首先需要检查自己的计算机是否安装了Python;如果没有安装,你需要安装它。你还要安装一个文本编辑器,用于编写和运行Python程序。你输入Python代码时,这个文本编辑器能够识别它们并突出显示不同的部分,让你能够轻松地了解代码的结构。

1.1 搭建编程环境

在不同的操作系统中,Python存在细微的差别,因此有几点你需要牢记在心。这里将介绍大家使用的两个主要的Python版本,并简要介绍Python的安装步骤。

1.1.1 Python 2和Python 3

当前,有两个不同的Python版本:Python 2和较新的Python 3。每种编程语言都会随着新概念和新技术的推出而不断发展,Python的开发者也一直致力于丰富和强化其功能。大多数修改都是逐步进行的,你几乎意识不到,但如果你的系统安装的是Python 3,那么有些使用Python 2编写的代码可能无法正确地运行。在本书中,我将指出Python 2和Python 3的重大差别,这样无论你安装的是哪个Python版本,都能够按书中的说明去做。

如果你的系统安装了这两个版本,请使用Python 3;如果没有安装Python,请安装Python 3;如果只安装了Python 2,也可直接使用它来编写代码,但还是尽快升级到Python 3为好,因为这样你就能使用最新的Python版本了。

1.1.2 运行Python代码片段

Python自带了一个在终端窗口中运行的解释器,让你无需保存并运行整个程序就能尝试运行Python代码片段。

本书将以如下方式列出代码片段:

>>>print("Hello Python interpreter!") ❶
Hello Python interpreter!

加粗的文本表示需要你输入之后按回车键来执行的代码。本书的大多数示例都是独立的小程序,你将在编辑器中执行它们,因为大多数代码都是这样编写出来的。然而,为高效地演示某基本概念,需要在Python终端会话中执行一系列代码片段。只要代码清单中包含三个尖括号(如❶所示),就意味着输出来自终端会话。稍后将演示如何在Python解释器中编写代码。

1.1.3 Hello World程序

长期以来,编程界都认为刚接触一门新语言时,如果首先使用它来编写一个在屏幕上显示消息“Hello world!”的程序,将给你带来好运。

要使用Python来编写这种Hello World程序,只需一行代码:

print("Hello world!")

这种程序虽然简单,却有其用途:如果它能够在你的系统上正确地运行,你编写的任何Python程序都将如此。稍后将介绍如何在特定的系统中编写这样的程序。

1.2 在不同操作系统中搭建Python编程环境

Python是一种跨平台的编程语言,这意味着它能够运行在所有主要的操作系统中。在所有安装了Python的现代计算机上,都能够运行你编写的任何Python程序。然而,在不同的操作系统中,安装Python的方法存在细微的差别。

在这一节中,你将学习如何在自己的系统中安装Python和运行Hello World程序。你首先要检查自己的系统是否安装了Python,如果没有,就安装它;接下来,你需要安装一个简单的文本编辑器,并创建一个空的Python文件——hello_world.py。最后,你将运行Hello World程序,并排除各种故障。我将详细介绍如何在各种操作系统中完成这些任务,让你能够搭建一个对初学者友好的Python编程环境。

1.2.1 在Linux系统中搭建Python编程环境

Linux系统是为编程而设计的,因此在大多数Linux计算机中,都默认安装了Python。编写和维护Linux的人认为,你很可能会使用这种系统进行编程,他们也鼓励你这样做。鉴于此,要在这种系统中编程,你几乎不用安装什么软件,也几乎不用修改设置。

1.检查Python版本

在你的系统中运行应用程序Terminal(如果你使用的是Ubuntu,可按Ctrl+Alt+T),打开一个终端窗口。为确定是否安装了Python,执行命令python(请注意,其中的p是小写的)。输出将类似下面这样,它指出了安装的Python版本;最后的>>>是一个提示符,让你能够输入Python命令。

$python
Python 2.7.6 (default, Mar 22 2014, 22:59:38)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

上述输出表明,当前计算机默认使用的Python版本为Python 2.7.6。看到上述输出后,如果要退出Python并返回到终端窗口,可按Ctrl+D或执行命令exit()。

要检查系统是否安装了Python 3,可能需要指定相应的版本。换句话说,如果输出指出默认版本为Python 2.7,请尝试执行命令python3:

$python3
Python 3.5.0 (default, Sep 17 2015, 13:05:18)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

上述输出表明,系统中也安装了Python 3,因此你可以使用这两个版本中的任何一个。在这种情况下,请将本书中的命令python都替换为python3。大多数Linux系统都默认安装了Python,但如果你的Linux系统不知什么原因没有安装Python或只安装了Python 2,而你要安装Python 3,请参见附录A。

2.安装文本编辑器

Geany是一款简单的文本编辑器:它易于安装;让你能够直接运行几乎所有的程序(而无需通过终端来运行);使用不同的颜色来显示代码,以突出代码语法;在终端窗口中运行代码,让你能够习惯使用终端。附录B介绍了其他一些文本编辑器,但我强烈建议你使用Geany,除非你有充分的理由不这样做。

在大多数Linux系统中,都只需执行一个命令就可以安装Geany:

$sudo apt-get install geany

如果这个命令不管用,请参阅http://geany.org/Download/ThirdPartyPackages/的说明。

3.运行Hello World程序

为编写第一个程序,需要启动Geany。为此,可按超级(Super)键(俗称Windows键),并在系统中搜索Geany。找到Geany后,双击以启动它;再将其拖曳到任务栏或桌面上,以创建一个快捷方式。接下来,创建一个用于存储项目的文件夹,并将其命名为python_work(在文件名和文件夹名中,最好使用小写字母,并使用下划线来表示空格,因为这是Python采用的命名约定)。回到Geany,选择菜单File ▶ Save As,将当前的空Python文件保存到文件夹python_work,并将其命名为hello_world.py。扩展名.py告诉Geany,文件包含的是Python程序;它还让Geany知道如何运行该程序,并以有益的方式突出其中的代码。

保存文件后,在其中输入下面一行代码:

print("Hello Python world!")

如果你的系统安装了多个Python版本,就必须对Geany进行配置,使其使用正确的版本。为此,可选择菜单Build(生成)▶ Set Build Commands(设置生成命令);你将看到文字Compile(编译)和Execute(执行),它们旁边都有一个命令。默认情况下,这两个命令都是python,要让Geany使用命令python3,必须做相应的修改。

如果在终端会话中能够执行命令python3,请修改编译命令和执行命令,让Geany使用Python 3解释器。为此,将编译命令修改成下面这样:

python3 -m py_compile "%f"

你必须完全按上面的代码显示的那样输出这个命令,确保空格和大小写都完全相同。

将执行命令修改成下面这样:

python3 "%f"

同样,务必确保空格和大小写都完全与显示的相同。图1-1显示了该如何在Geany中配置这些命令。

图1-1 在Linux中配置Geany,使其使用Python 3

现在来运行程序hello_world.py。为此,可选择菜单Build ▶ Execute、单击Execute图标(两个齿轮)或按F5。将弹出一个终端窗口,其中包含如下输出:

Hello Python world!
------------------
(program exited with code: 0)
Press return to continue

如果没有看到这样的输出,请检查你输入的每个字符。你是不是将print的首字母大写了?是不是遗漏了引号或括号?编程语言对语法的要求非常严格,只要你没有严格遵守语法,就会出错。如果代码都正确,这个程序也不能正确地运行,请参阅1.3节。

4.在终端会话中运行Python代码

你可以打开一个终端窗口并执行命令python或python3,再尝试运行Python代码片段。检查Python版本时,你就这样做过。下面再次这样做,但在终端会话中输入如下代码行:

>>>print("Hello Python interpreter!")
Hello Python interpreter!
>>>

消息将直接打印到当前终端窗口中。别忘了,要关闭Python解释器,可按Ctrl+D或执行命令exit()。

1.2.2 在OS X系统中搭建Python编程环境

大多数OS X系统都默认安装了Python。确定安装了Python后,你还需安装一个文本编辑器,并确保其配置正确无误。

1.检查是否安装了Python

在文件夹Applications/Utilities中,选择Terminal,打开一个终端窗口;你也可以按Command+空格键,再输入terminal并按回车。为确定是否安装了Python,请执行命令python(注意,其中的p是小写的)。输出将类似于下面这样,它指出了安装的Python版本;最后的>>>是一个提示符,让你能够输入Python命令。

$ python
Python 2.7.5 (default, Mar 9 2014, 22:15:05)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits", or "license" for more information.
>>>

上述输出表明,当前计算机默认使用的Python版本为Python 2.7.5。看到上述输出后,如果要退出Python并返回到终端窗口,可按Ctrl+D或执行命令exit()。

要检查系统是否安装了Python 3,可尝试执行命令python3。可能会出现一条错误消息,但如果输出指出系统安装了Python 3,则无需安装就可使用它。如果在你的系统中能够执行命令python3,则对于本书的所有命令python,都请替换为命令python3。如果不知道出于什么原因你的系统没有安装Python,或者只安装了Python 2,而你又想安装Python 3,请参阅附录A。

2.在终端会话中运行Python代码

你可以打开一个终端窗口并执行命令python或python3,再尝试运行Python代码片段。检查Python版本时,你就这样做过。下面再次这样做,但在终端会话中输入如下代码行:

>>>print("Hello Python interpreter!")
Hello Python interpreter!
>>>

消息将直接打印到当前终端窗口中。别忘了,要关闭Python解释器,可按Ctrl+D或执行命令exit()。

3.安装文本编辑器

Sublime Text是一款简单的文本编辑器:它在OS X中易于安装;让你能够直接运行几乎所有程序(而无需通过终端);使用不同的颜色来显示代码,以突出代码语法;在内嵌在Sublime Text窗口内的终端会话中运行代码,让你能够轻松地查看输出。附录B介绍了其他一些文本编辑器,但我强烈建议你使用Sublime Text,除非你有充分的理由不这样做。

要下载Sublime Text安装程序,可访问http://sublimetext.com/3,单击Download链接,并查找OS X安装程序。Sublime Text的许可策略非常灵活,你可以免费使用这款编辑器,但如果你喜欢它并想长期使用,建议你购买许可证。下载安装程序后,打开它,再将Sublime Text图标拖放到Applications文件夹。

4.配置Sublime Text使其使用Python 3

如果你启动Python终端会话时使用的命令不是python,就需要配置Sublime Text,让它知道到系统的什么地方去查找正确的Python版本。要获悉Python解释器的完整路径,请执行如下命令:

$ type -a python3
python3 is /usr/local/bin/python3

现在,启动Sublime Text,并选择菜单Tools ▶ Build System ▶ New Build System,这将打开一个新的配置文件。删除其中的所有内容,再输入如下内容:

{
    "cmd": ["/usr/local/bin/python3", "-u", "$file"],
}

这些代码让Sublime Text使用命令python3来运行当前打开的文件。请确保其中的路径为你在前一步使用命令type -a python3获悉的路径。将这个配置文件命名为Python3.sublime-build,并将其保存到默认目录——你选择菜单Save时Sublime Text打开的目录。

5.运行Hello World程序

为编写第一个程序,需要启动Sublime Text。为此,可打开文件夹Applications,并双击图标Sublime Text;也可按Command+空格键,再在弹出的搜索框中输入sublime text。

创建一个用于存储项目的文件夹,并将其命名为python_work(在文件名和文件夹名中,最好使用小写字母,并使用下划线来表示空格,因为这是Python采用的命名约定)。在Sublime Text中,选择菜单File ▶ Save As,将当前的空Python文件保存到文件夹python_work,并将其命名为hello_world.py。扩展名.py告诉Sublime Text,文件包含的是Python程序;它还让Sublime Text知道如何运行该程序,并以有益的方式突出其中的代码。

保存文件后,在其中输入下面一行代码:

print("Hello Python world!")

如果在系统中能够运行命令python,就可选择菜单Tools ▶ Build或按Ctrl+B来运行程序。如果你对Sublime Text进行了配置,使其使用的命令不是python,请选择菜单Tools ▶ Build System,再选择Python 3。这将把Python 3设置为默认使用的Python版本;此后,你就可选择菜单Tools ▶ Build或按Command+B来运行程序了。

Sublime Text窗口底部将出现一个终端屏幕,其中包含如下输出:

Hello Python world!
[Finished in 0.1s]

如果没有看到这样的输出,请检查你输入的每个字符。你是不是将print的首字母大写了?是不是遗漏了引号或括号?编程语言对语法的要求非常严格,只要你没有严格遵守语法,就会出错。如果代码都正确,这个程序也不能正确地运行,请参阅1.3节。

1.2.3 在Windows系统中搭建Python编程环境

Windows系统并非都默认安装了Python,因此你可能需要下载并安装它,再下载并安装一个文本编辑器。

1.安装Python

首先,检查你的系统是否安装了Python。为此,在“开始”菜单中输入command并按回车以打开一个命令窗口;你也可按住Shift键并右击桌面,再选择“在此处打开命令窗口”。在终端窗口中输入python并按回车;如果出现了Python提示符(>>>),就说明你的系统安装了Python。然而,你也可能会看到一条错误消息,指出python是无法识别的命令。

如果是这样,就需要下载Windows Python安装程序。为此,请访问http://python.org/downloads/。你将看到两个按钮,分别用于下载Python 3和Python 2。单击用于下载Python 3的按钮,这会根据你的系统自动下载正确的安装程序。下载安装程序后,运行它。请务必选中复选框Add Python to PATH(如图1-2所示),这让你能够更轻松地配置系统。

图1-2 确保选中复选框Add Python to PATH

2.启动Python终端会话

通过配置系统,让其能够在终端会话中运行Python,可简化文本编辑器的配置工作。打开一个命令窗口,并在其中执行命令python。如果出现了Python提示符(>>>),就说明Windows找到了你刚安装的Python版本。

C:\>python
Python 3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 22:15:05) [MSC v.1900 32 bit
(Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

如果是这样,就可以直接跳到下一部分——“在终端会话中运行Python”。

然而,输出可能类似于下面这样:

C:\>python
'python' is not recognized as an internal or external command, operable
program or batch file.

在这种情况下,你就必须告诉Windows如何找到你刚安装的Python版本。命令python通常存储在C盘,因此请在Windows资源管理器中打开C盘,在其中找到并打开以Python打头的文件夹,再找到文件python。例如,在我的计算机中,有一个名为Python35的文件夹,其中有一个名为python的文件,因此文件python的路径为C:\Python35\python。如果找不到这个文件,请在Windows资源管理器的搜索框中输入python,这将让你能够准确地获悉命令python在系统中的存储位置。

如果认为已知道命令python的路径,就在终端窗口中输入该路径进行测试。为此,打开一个命令窗口,并输入你确定的完整路径:

C:\>C:\Python35\python
Python 3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 22:15:05) [MSC v.1900 32 bit
(Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

如果可行,就说明你已经知道如何访问Python了。

3.在终端会话中运行Python

在Python会话中执行下面的命令,并确认看到了输出“Hello Python world!”。

>>>print("Hello Python world!")
Hello Python world!
>>>

每当要运行Python代码片段时,都请打开一个命令窗口并启动Python终端会话。要关闭该终端会话,可按Ctrl+Z,再按回车键,也可执行命令exit()。

4.安装文本编辑器

Geany是一款简单的文本编辑器:它易于安装;让你能够直接运行几乎所有的程序(而无需通过终端);使用不同的颜色来显示代码,以突出代码语法;在终端窗口中运行代码,让你能够习惯使用终端。附录B介绍了其他一些文本编辑器,但我强烈建议你使用Geany,除非你有充分的理由不这样做。

要下载Windows Geany安装程序,可访问http://geany.org/,单击Download下的Releases,找到安装程序geany-1.25_setup.exe或类似的文件。下载安装程序后,运行它并接受所有的默认设置。

为编写第一个程序,需要启动Geany。为此,可按超级(Super)键(俗称Windows键),并在系统中搜索Geany。找到Geany后,双击以启动它;再将其拖曳到任务栏或桌面上,以创建一个快捷方式。接下来,创建一个用于存储项目的文件夹,并将其命名为python_work(在文件名和文件夹名中,最好使用小写字母,并使用下划线来表示空格,因为这是Python采用的命名约定)。回到Geany,选择菜单File ▶ Save As,将当前的空Python文件保存到文件夹python_work,并将其命名为hello_world.py。扩展名.py告诉Geany,文件包含的是Python程序;它还让Geany知道如何运行该程序,并以有益的方式突出其中的代码。

保存文件后,在其中输入下面一行代码:

print("Hello Python world!")

如果能够在系统中执行命令python,就无需配置Geany,因此你可以跳过下一部分,直接进入“运行Hello World程序”部分。如果启动Python解释器时必须指定路径,如C:\Python35\python,请按下面的说明对Geany进行配置。

5.配置Geany

要配置Geany,请选择菜单Build ▶ Set Build Commands;你将看到文字Compile和Execute,它们旁边都有一个命令。默认情况下,编译命令和执行命令的开头都是python,但Geany不知道命令python存储在系统的什么地方,因此你需要在其中添加你在终端会话中使用的路径。

为此,在编译命令和执行命令中,加上命令python所在的驱动器和文件夹。其中编译命令应类似于下面这样:

C:\Python35\python -m py_compile "%f"

在你的系统中,路径可能稍有不同,但请务必确保空格和大小写与这里显示的一致。

执行命令应类似于下面这样:

C:\Python35\python "%f"

同样,指定执行命令时,务必确保空格和大小写与这里显示的一致。图1-3显示了该如何在Geany中配置这些命令。

图1-3 在Windows中配置Geany,使其使用Python 3

正确地设置这些命令后,单击OK按钮。

6.运行Hello World程序

现在应该能够成功地运行程序了。请运行程序hello_world.py;为此,可选择菜单Build ▶ Execute、单击Execute图标(两个齿轮)或按F5。将弹出一个终端窗口,其中包含如下输出:

Hello Python world!
------------------
(program exited with code: 0)
Press return to continue

如果没有看到这样的输出,请检查你输入的每个字符。你是不是将print的首字母大写了?是不是遗漏了引号或括号?编程语言对语法的要求非常严格,只要你没有严格遵守语法,就会出错。如果代码都正确,这个程序也不能正确地运行,请参阅下一节。

1.3 解决安装问题

如果你按前面的步骤做,应该能够成功地搭建编程环境。但如果你始终无法运行程序hello_world.py,可尝试如下几个解决方案。


· 程序存在严重的错误时,Python将显示traceback。Python会仔细研究文件,试图找出其中的问题。traceback可能会提供线索,让你知道是什么问题让程序无法运行。

· 离开计算机,先休息一会儿,再尝试。别忘了,在编程中,语法非常重要,即便是少一个冒号、引号不匹配或括号不匹配,都可能导致程序无法正确地运行。请再次阅读本章相关的内容,再次审视你所做的工作,看看能否找出错误。

· 推倒重来。你也许不需要把一切都推倒重来,但将文件hello_world.py删除并重新创建它也许是合理的选择。

· 让别人在你的计算机或其他计算机上按本章的步骤重做一遍,并仔细观察。你可能遗漏了一小步,而别人刚好没有遗漏。

· 请懂Python的人帮忙。当你有这样的想法时,可能会发现在你认识的人当中就有人使用Python。

· 本章的安装说明在本书主页上:http://www.ituring.com.cn/book/1861。对你来说,在线版也许更合适。

· 到网上寻求帮助。附录C提供了很多在线资源,如论坛或在线聊天网站,你可以前往这些地方,请求解决过你面临的问题的人提供解决方案。


不要担心这会打扰经验丰富的程序员。每个程序员都遇到过问题,而大多数程序员都会乐意帮助你正确地设置系统。只要能清晰地说明你要做什么、尝试了哪些方法及其结果,就很可能有人能够帮到你。正如前言中指出的,Python社区对初学者非常友好。

任何现代计算机都能够运行Python,如果你遇到了困难,请想办法寻求帮助吧。前期的问题可能令人沮丧,但很值得你花时间去解决。能够运行hello_world.py后,你就可以开始学习Python了,而且编程工作会更有趣,也更令人愉快。

1.4 从终端运行Python程序

你编写的大多数程序都将直接在文本编辑器中运行,但有时候,从终端运行程序很有用。例如,你可能想直接运行既有的程序。

在任何安装了Python的系统上都可以这样做,前提是你知道如何进入程序文件所在的目录。为尝试这样做,请确保已将文件hello_world.py存储到了桌面的python_work文件夹中。

1.4.1 在Linux和OS X系统中从终端运行Python程序

在Linux和OS X系统中,从终端运行Python程序的方式相同。在终端会话中,可使用终端命令cd(表示切换目录,change directory)在文件系统中导航。命令ls(list的简写)显示当前目录中所有未隐藏的文件。

为运行程序hello_world.py,请打开一个新的终端窗口,并执行下面的命令:

~>cd Desktop/python_work/ ❶
~/Desktop/python_work>ls ❷
hello_world.py
~/Desktop/python_work>python hello_world.py ❸
Hello Python world!

这里使用了命令cd来切换到文件夹Desktop/python_work(见❶)。接下来,使用命令ls来确认这个文件夹中包含文件hello_world.py(见❷)。最后,使用命令python hello_world.py来运行这个文件(见❸)。

就这么简单。要运行Python程序,只需使用命令python(或python3)即可。

1.4.2 在Windows系统中从终端运行Python程序

在命令窗口中,要在文件系统中导航,可使用终端命令cd;要列出当前目录中的所有文件,可使用命令dir(表示目录, directory)。

为运行程序hello_world.py,请打开一个新的终端窗口,并执行下面的命令:

C:\>cd Desktop\python_work ❶
C:\Desktop\python_work>dir ❷
hello_world.py
C:\Desktop\python_work>python hello_world.py ❸
Hello Python world!

这里使用了命令cd来切换到文件夹Desktop\python_work(见❶)。接下来,使用命令dir来确认这个文件夹中包含文件hello_world.py(见❷)。最后,使用命令python hello_world.py来运行这个文件(见❸)。

如果你没有对系统进行配置以使用简单命令python,就可能需要指定这个命令的路径:

C:\$cd Desktop\python_work
C:\Desktop\python_work$dir
hello_world.py
C:\Desktop\python_work$C:\Python35\python hello_world.py
Hello Python world!

大多数程序都可以直接从编辑器运行,但需要解决的问题比较复杂时,你编写的程序可能需要从终端运行。


动手试一试

本章的练习都是探索性的,但从第2章开始将要求你用那一章学到的知识来解决问题。

1-1 python.org:浏览Python主页(http://python.org/),寻找你感兴趣的主题。你对Python越熟悉,这个网站对你来说就越有用。

1-2 输入错误:打开你刚创建的文件hello_world.py,在代码中添加一个输入错误,再运行这个程序。输入错误会引发错误吗?你能理解显示的错误消息吗?你能添加一个不会导致错误的输入错误吗?你凭什么认为它不会导致错误?

1-3 无穷的技艺:如果你编程技艺无穷,你打算开发什么样的程序呢?你就要开始学习编程了;如果心中有目标,就能立即将新学到的技能付诸应用;现在正是草拟目标的大好时机。将想法记录下来是个不错的习惯,这样每当需要开始新项目时,都可参考它们。现在请花点时间描绘三个你想创建的程序。

1.5 小结

在本章中,你大致了解了Python,并在自己的系统中安装了Python。你还安装了一个文本编辑器,以简化Python代码的编写工作。你学习了如何在终端会话中运行Python代码片段,并运行了第一个货真价实的程序——hello_world.py。你还大致了解了如何解决安装问题。

在下一章,你将学习如何在Python程序中使用各种数据和变量。