命令来启动它。由于 Python 解释器的安装路径是可选的,这也可能是其他路径,你可以联系安装 Python 的用户或系统管理员确认。(例如,/usr/local/python 就是一个常见的选择)
在 Windows 机器上,Python 通常安装在 C:\\Python27 位置,当然你可以在运行安装向导时修改此值。要想把此目录添加到你的 PATH 环境变量中,你可以在 DOS 窗口中输入以下命令: set path=%path%;C:\\python27
通常你可以在主窗口输入一个文件结束符( Unix 系统是 Control-D,Windows 系统是 Control-Z )让解释器以 0 状态码退出。如果它不起作用,你可以通过输入
quit() 命令退出解释器。
Python 解释器具有简单的行编辑功能。在 Unix 系统上,任何 Python 解释器都可能已经添加了 GNU readline 库支持,这样就具备了精巧的交互编辑和历史记录等功能。在 Python 主窗口中输入 Control-P 可能是检查是否支持命令行编辑的最简单的方法。如果发出嘟嘟声(计算机扬声器),则说明你可以使用命令行编辑功能;更多快捷键的介绍请参考 交互式输入行编辑历史回溯。 如果没有任何声音,或者显示 ^P 字符,则说明命令行编辑功能不可用;你只能通过退格键从当前行删除已键入的字符并重新输入。
Python 解释器有些操作类似 Unix shell:当使用终端设备(tty)作为标准输入调用时,它交互地解释并执行命令;当使用文件名参数或以文件作为标准输入调用时,它读取文件并将文件作为 脚本 执行。
第二种启动 Python 解释器的方法是 python -c command [arg] ...,这种方法可以在 命令行 执行 Python 语句,类似于 shell 中的 -c 选项。由于 Python 语句通常会包含空格或其他特殊 shell 字符,一般建议将 命令 用单引号包裹起来。
有一些 Python 模块也可以当作脚本使用。你可以使用 python -m module [arg] ... 命令来调用它们,这类似在命令行中键入完整的路径名执行 模块 源文件一样。 使用脚本文件时,经常会运行脚本然后进入交互模式。这也可以通过在脚本之前加上 -i 参数来实现。
所有的命令行参数详细描述在 命令行和环境 。
2.1.1. 参数传递
调用解释器时,脚本名和附加参数传入一个名为 sys.argv 的字符串列表。你能够通过执行 import sys 来获取这个列表,列表的长度大于等于1;没有给定脚本和参数时,它至少也有一个元素:sys.argv[0] 此时为空字符串。
脚本名指定为 '-' (表示标准输入)时,sys.argv[0] 被设定为 '-' ,使用 -c 指令 时,sys.argv[0] 被设定为 '-c'。
使用 -m 模块 参数时,sys.argv[0] 被设定为指定模块的全名。-c 指令 或者 -m 模块 之后的参数不会被 Python 解释器的选项处理机制所截获,而是留在
sys.argv 中,供脚本命令操作。
2.1.2. 交互模式
从 tty 读取命令时,我们称解释器工作于 交互模式。这种模式下它根据 主提示符 来执行,主提示符通常标识为三个大于号 (>>>);继续的部分被称为 从属提示符,由三个点标识 (...)。在第一行之前,解释器打印欢迎信息、版本号和授权提示:
python
Python 2.7 (#1, Feb 28 2010, 00:02:06)
Type \, \, \ or \ for more information. >>>
输入多行结构时需要从属提示符了,例如,下面这个 if 语句: >>> the_world_is_flat = 1 >>> if the_world_is_flat:
... print \ ...
Be careful not to fall off!
关于交互魔术更多的信息,请见 交互式输入行编辑历史回溯。
2.2. 解释器及其环境 2.2.1. 源程序编码
在Python源文件中可以使用非 ASCII 编码。最好的方法是在 #! 行的后面再增加一行特殊的注释来定义源文件的编码: # -*- coding: encoding -*-
通过此声明,源文件中所有的东西都会被当做用 encoding 指代的 UTF-8 编码对待。在 Python 库参考手册 codecs 一节中你可以找到一张可用的编码列表。 例如,若要写入包含欧元货币符号的 Unicode 字面量,可以使用 ISO-8859-15 编码,其欧元符号的值为 164 。此脚本中,以 ISO-8859-15 编码,保存时将打印的值 8364 (Unicode 代码点相应的欧元符号),然后退出: # -*- coding: iso-8859-15 -*-
currency = u\
print ord(currency)
如果你的编辑器支持保存为带有 UTF-8 字节顺序标记 (也叫做 BOM ) 的 UTF-8 格式的文件,你可以使用这种功能而不用编码声明。IDLE 如果设置了 Options/General/Default Source Encoding/UTF-8 也支持此功能。注意,这种标记方法在旧的 Python 版本中(2.2 及更早)是不能识别的,同样也不能被能够处理 #! (只在 Unix 系统上使用)行的操作系统识别。
通过使用 UTF-8 编码(无论是BOM方式或者是编码声明方式),世界上大多数语言的字符可以在字符串字面量和注释中同时使用。在标识符中使用非 ASCII 字符是不支持的。若要正确显示所有这些字符,您的编辑器必须认识该文件是 UTF-8 编码,并且它必须使用支持文件中所有字符的字体。
3. Python 简介
下面的例子中,输入和输出分别由大于号和句号提示符 ( >>> 和 ... ) 标注:如果想重现这些例子,就要在解释器的提示符后,输入 (提示符后面的) 那些不包含提示符的代码行。需要注意的是在练习中遇到的从属提示符表示你需要在最后多输入一个空行,解释器才能知道这是一个多行命令的结束。
本手册中的很多示例 (包括那些带有交互提示符的) 都含有注释。Python 中的注释以 # 字符起始,直至实际的行尾 (译注:这里原作者用了 physical line 以表示实际的换行而非编辑器的自动换行)。注释可以从行首开始,也可以在空白或代码之后,但是不出现在字符串中。文本字符串中的 # 字符仅仅表示 #。代码中的注释不会被 Python 解释,录入示例的时候可以忽略它们。 如下示例:
# this is the first comment
SPAM = 1 # and this is the second comment # ... and now a third! STRING = \
3.1. 将 Python 当做计算器
我们来尝试一些简单的 Python 命令。启动解释器然后等待主提示符 >>> 出现。(不需要很久)
3.1.1. 数字
解释器表现得就像一个简单的计算器:可以向其录入一些表达式,它会给出返回值。表达式语法很直白:运算符 +,-,* 和 / 与其它语言一样(例如:Pascal 或 C);括号 (()) 用于分组。例如: >>> 2 + 2 4
>>> 50 - 5*6 20
>>> (50 - 5.0*6) / 4 5.0
>>> 8 / 5.0 1.6
整数(例如,2, 4, 20 )的类型是 int,带有小数部分的数字(例如,5.0, 1.6)的类型是 float。在本教程的后面我们会看到更多关于数字类型的内容。 除法 (/) 返回的类型取决于它的操作数。如果两个操作数都是 int,将采用 floor division 除法(floor division)并返回一个 int。如果两个操作数中有一个是 float,将采用传统的除法并返回一个 float。还提供 // 运算符用于 floor division 而无论操作数是什么类型。余数可以用 % 操作符计算:
>>> 17 / 3 # int / int -> int 5
>>> 17 / 3.0 # int / float -> float 5.666666666666667
>>> 17 // 3.0 # explicit floor division discards the fractional part 5.0
>>> 17 % 3 # the % operator returns the remainder of the division 2
>>> 5 * 3 + 2 # result * divisor + remainder 17
通过 Python,还可以使用 ** 运算符计算幂乘方 [1]: >>> 5 ** 2 # 5 squared 25
>>> 2 ** 7 # 2 to the power of 7 128
等号( '=' )用于给变量赋值。赋值之后,在下一个提示符之前不会有任何结果显示:
>>> width = 20 >>> height = 5*9 >>> width * height 900
变量在使用前必须 ―定义‖(赋值),否则会出错:
>>> # try to access an undefined variable ... n
Traceback (most recent call last): File \, line 1, in
浮点数有完整的支持;与整型混合计算时会自动转为浮点数: >>> 3 * 3.75 / 1.5 7.5
>>> 7.0 / 2 3.5
交互模式中,最近一个表达式的值赋给变量 _。这样我们就可以把它当作一个桌面计算器,很方便的用于连续计算,例如: >>> tax = 12.5 / 100