十六进制、八进制和二进制
1.9 保存并执行程序
交互式解释器是Python的亮点之一,它让你能够实时地测试解决方案以及尝试使用Python。
要了解隐藏在背后的工作原理,只需尝试使用即可!然而,等你退出交互式解释器时,你在其中 编写的所有代码都将丢失。你的终极目标是编写自己和他人都能运行的程序。本节将介绍如何达 成这种目标。
首先,你需要一个文本编辑器——最好是专门用于编程的(不推荐使用Microsoft Word之类 的软件,但如果你使用的是这样的软件,务必以纯文本的方式保存代码)。如果你使用的是IDLE,
那就太幸运了。在这种情况下,只需选择菜单File→New File。这将新建一个编辑器窗口,其中
1 2 3 4 5
15 6 7 8 9 10 11 12 13 14
没有交互式提示符。首先,输入如下代码:
print("Hello, world!")
接下来,选择菜单File→Save保存程序(其实就是一个纯文本文件)。务必将文件存储在以后 能够找到的地方,并指定合理的文件名,如hello.py(扩展名.py很重要)。
保存好了吗?请不要关闭包含程序的窗口。如果关闭了,选择菜单File→Open重新打开。现 在可以运行这个程序了,方法是选择菜单Run→Run Module。(如果你使用的不是IDLE,请参阅 下一节,了解如何从命令提示符运行程序。)
结果如何呢?在解释器窗口中打印了Hello, world!,这正是我们想要的结果。根据你使用 的版本,解释器提示符可能消失,要让它重新出现,可在解释器窗口中按回车键。
接下来,将脚本扩展成下面这样:
name = input("What is your name? ") print("Hello, " + name + "!")
如果你运行这个脚本(别忘了先保存),将在解释器窗口中看到如下提示信息:
What is your name?
输入你的名字(如Gumby)并按回车键,你将看到类似于下面的内容:
Hello, Gumby!
强大的海龟绘图法
编写简单示例时,print语句很有用,因为几乎在任何地方都可使用它。如果你要尝试提 供更有趣的输出,应考虑使用模块turtle,它实现了海龟绘图法。如果你正在运行IDLE,就 可使用这个模块,它让你能够绘制图形(而不是打印文本)。通常,应避免导入模块中所有的 名称,但尝试使用海龟绘图法时,这样做可提供极大的方便。
from turtle import *
确定需要使用哪些函数后,可回过头去修改import语句,以便只导入这些函数。
海龟绘图法的理念源自形如海龟的机器人。这种机器人可前进和后退,还可向左和向右 旋转一定的角度。另外,这种机器人还携带一只铅笔,可通过抬起或放下来控制铅笔在什么 时候接触到脚下的纸张。模块turtle让你能够模拟这样的机器人。例如,下面的代码演示了 如何绘制一个三角形:
forward(100) left(120) forward(100) left(120) forward(100)
如果你运行这些代码,将出现一个新窗口,其中有一个箭头形“海龟”不断地移动,并 在 身 后 留 下 移 动 轨 迹 。 要 将 铅 笔 抬 起 , 可 使 用penup(); 要 将 铅 笔 重 新 放 下 , 可 使 用
pendown()。要了解其他的命令,请参阅“Python库参考手册”的相关部分(https://docs.python.
org/3/library/turtle.html)。要了解如何绘图,可尝试在网上搜索海龟绘图法(turtle graphic)。
学习更多的概念后,你可能想用海龟绘图法替换平淡的print语句。在尝试使用海龟绘图法的 过程中,你很快就会发现需要使用后面将介绍的一些基本编程结构。例如,如何在前面的示 例中避免反复调用命令forward和left,如何绘制八角形(而不是三角形)以及如何以尽可能 少的代码绘制多个边数各不相同的正多边形。
1.9.1 从命令提示符运行 Python 脚本
实际上,运行程序的方式有多种。首先,假定你打开了DOS窗口或UNIX shell,并切换到了 Python可执行文件(在Windows中为python.exe,在UNIX中为python)或将该可执行文件所在的 目录加入到了环境变量PATH中(仅适用于Windows)①。另外,假定前一节的脚本(hello.py)存 储在当前目录下。满足上述条件后,就可在Windows中使用如下命令来执行这个脚本:
C:\>python hello.py
在UNIX系统中,可使用如下命令:
$ python hello.py
如你所见,命令是一样的,只是系统提示符不同。
1.9.2 让脚本像普通程序一样
在有些情况下,你希望能够像执行其他程序(如Web浏览器或文本编辑器)一样执行Python 脚本,而无需显式地使用Python解释器。UNIX提供了实现这种目标的标准方式:让脚本的第一 行以字符序列#!(称为pound bang或shebang)开始,并在它后面指定用于对脚本进行解释的程序
(这里是Python)的绝对路径。即便你对这一点不太明白,只需将下面的代码作为脚本的第一行,
就可在UNIX中轻松运行脚本:
#!/usr/bin/env python
不管Python库位于什么地方,这都将让你能够像运行普通程序一样运行脚本。如果你安装了 多个版本的Python,可用更具体的可执行文件名(如python3)替换python。
要像普通程序一样运行脚本,还必须将其变成可执行的:
$ chmod a+x hello.py
现在,可以像下面这样来运行它(假定当前目录包含在执行路径中):
$ hello.py
如果这不管用,请尝试使用./hello.py,这在当前目录(.)未包含在执行路径中时也管用(负
——————————
① 如果你看不懂这句话,可以跳过1.9.1节,因为这一节的内容不是非得掌握的。