我感觉这样记录,对于我来说挺好的。因为我看两端对齐的语句容易走神,这样记录阅读的话,就很少出现之前的情况。
我写的初衷,也是自己来看,所以感觉写的不好的,请保留下意见,谢谢。
里面的每一个字我都看过,加粗 括号 下划线 等均是我的笔记。
刚开始要说的话
如何学习编写第一个程序,每个程序员都有不同的故事。我还是个孩子时就开始学习编程了,当时我父亲在计算时代的先锋之一
——
数字设备公司(
DigitalEquipment Corporation
)
工作。我使用一台简陋的计算机编写了第一个程序,这台计算机是父亲在家里的地下室组装而成的,它没有机箱,裸露的主板与键盘相连,显示器是裸露的阴极射线管。我编写
的这个程序是一款简单的猜数字游戏,其输出类似于下面这样:
-
I
'm thinking of a number!
-
Try
to guess the number I
'm thinking of: 25
-
Too low! Guess again:
50
-
Too high! Guess again:
42
-
That
's it! Would you like to play again? (yes/no) no
-
Thanks
for playing!
看到家人玩着我编写的游戏,而且它完全按我预期的方式运行,我心里不知有多满足。此情此景我永远都忘不了。
儿童时期的这种体验一直影响我至今。现在,每当我通过编写程序解决了一个问题时,心里都会感到非常满足。相比于孩提时期,我现在编写的软件满足了更大的需求,但通过
编写程序获得的满足感几乎与从前一样。
为何要用Python
继续使用
Python
,还是转而使用其他语言
——
也许是编程领域较新的语言?我每年都会考虑这个问题。可我依然专注于
Python
,其中的原因很多。
Python
是一种效率极高的语言:
相比于众多其他的语言,使用
Python
编写时,程序包含的代码行更少。
Python
的语法也有助于创建整洁的代码:相比其他语言,使用
Python
编写的代码更容易阅读、调试和扩展。
大家将
Python
用于众多方面:编写游戏、创建
Web
应用程序、解决商业问题以及供各类有趣的公司开发内部工具。
Python
还在科学领域被大量用于学术研究和应用研究。
我依然使用
Python
的一个最重要的原因是,
Python
社区有形形色色充满激情的人。对程序员来说,社区非常重要,因为编程绝非孤独的修行。大多数程序员都需要向解决过类似问
题的人寻求建议,经验最为丰富的程序员也不例外。需要有人帮助解决问题时,有一个联系紧密、互帮互助的社区至关重要,而对于像你一样将
Python
作为第一门语言来学习的人
而言,
Python
社区无疑是坚强的后盾。
Python
是一门杰出的语言,值得你去学习,咱们现在就开始吧!
第一章
在本章中,你将运行自己的第一个程序
——hello_world.py
。为此,你首先需要检查自己的计算机是否安装了
Python
;如果没有安装,你需要安装它。你还要安装一个文
本编辑器,用于编写和运行
Python
程序(我用的是Pycharm)。你输入
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(这个附录A我不一定会写,自己百度吧)
。
2. 安装文本编辑器(我用的pycharm)
Geany
是一款简单的文本编辑器:它易于安装;让你能够直接运行几乎所有的程序(而无需通过终端来运行);使用不同的颜色来显示代码,以突出代码语法;在终端窗口中运行
代码,让你能够习惯使用终端。附录
B(自己百度)
介绍了其他一些文本编辑器,但我强烈建议你使用
Geany(我用的pycharm)
,除非你有充分的理由不这样做。
在大多数
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,使其使用python3
现在来运行程序
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编程环境 (直接跳过,我不知道这是啥系统)
1.2.3 在Windows系统中搭建python编程环境
Windows
系统并非都默认安装了
Python
,因此你可能需要下载并安装它,再下载并安装一个文本编辑器。
1.
安装Python
首先,检查你的系统是否安装了
Python
。为此,在
“
开始
”
菜单中输入
command
并按回车以打开一个命令窗口;你也可按住
Shift
键并右击桌面,再选择
“
在此处打开命令窗口
”(我的是在此处打开Windows Powershell窗口)
。在终
端窗口中输入
python
并按回车;如果出现了
Python
提示符(
>>>
),就说明你的系统安装了
Python
。然而,你也可能会看到一条错误消息,指出
python
是无法识别的命令。
如果是这样,就需要下载
Windows Python
安装程序。为此,请访问
http://python.org/downloads/
。你将看到两个按钮,分别用于下载
Python 3
和
Python 2
。单击用于下载
Python 3
的按
钮,这会根据你的系统自动下载正确的安装程序。下载安装程序后,运行它。请务必选中复选框
Add Python to PATH
(如图
1-2
所示),这让你能够更轻松地配置系统。
图1-2 确保选中复选框AddPython to PATH
通过配置系统,让其能够在终端会话中运行
Python
,可简化文本编辑器的配置工作。打开一个命令窗口,并在其中执行命令
python
。如果出现了
Python
提示符(
>>>
),就说明
Windows
找到了你刚安装的
Python
版本。
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 Pythonworld!”
。
>>> print("Hello Python world!")
Hello Python world!
>>>
每当要运行
Python
代码片段时,都请打开一个命令窗口并启动
Python
终端会话。要关闭该终端会话,可按
Ctrl+ Z
,再按回车键,也可执行命令
exit() 。 (注意区别:linux中 按
Ctrl+ D或执行命令exit() 。)
4. 安装文本编辑器
Geany
是一款简单的文本编辑器:它易于安装;让你能够直接运行几乎所有的程序(而无需通过终端);使用不同的颜色来显示代码,以突出代码语法;在终端窗口中运行代码,
让你能够习惯使用终端。附录
B
介绍了其他一些文本编辑器,但我强烈建议你使用
Geany(不知道作者为啥一直推荐这个,我用的Pycharm)
,除非你有充分的理由不这样做。
要下载
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,使其使用python3
正确地设置这些命令后,单击
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
会仔细研究文件,试图找出其中的问题。
trackback
可能会提供线索,让你知道是什么问题让程序无法运行。
离开计算机,先休息一会儿,再尝试。别忘了,在编程中,语法非常重要,即便是少一个冒号、引号不匹配或括号不匹配,都可能导致程序无法正确地运行。请再次阅读本
章相关的内容,再次审视你所做的工作,看看能否找出错误。
推倒重来。你也许不需要把一切都推倒重来,但将文件
hello_world.py
删除并重新创建它也许是合理的选择。
让别人在你的计算机或其他计算机上按本章的步骤重做一遍,并仔细观察。你可能遗漏了一小步,而别人刚好没有遗漏。
请懂
Python
的人帮忙。当你有这样的想法时,可能会发现在你认识的人当中就有人使用
Python
。
本章的安装说明在网上也可以找到,其网址为
https://www.nostarch.com/pythoncrash-course/
。对你来说,在线版也许更合适。
到网上寻求帮助。附录
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
程序中使用各种数据和变量。