2.使用Python解释器

2.1 调用解释器

Python解释器通常安装/usr/local/bin/python3.7 在那些可用的机器上; 放入/usr/local/binUnix shell的搜索路径可以通过输入命令来启动它:

python3.7

shell指令,由于选择解释器所在的目录是一个安装选项,其他地方也是可能的; 请咨询您当地的Python大师或系统管理员。(例如,/usr/local/python是一个受欢迎的替代位置。)

在Windows机器上,通常会放置Python安装 C:\Python37,但是在运行安装程序时可以更改此设置。要将此目录添加到路径,可以在DOS框中的命令提示符中键入以下命令:

set path=%path%;C:\python37

在主提示符下键入文件结束字符(Control-D在Unix上,Control-Z在Windows上)会导致解释器以零退出状态退出。如果这不起作用,您可以通过键入以下命令退出解释器:quit()

解释器的行编辑功能包括支持readline的系统上的交互式编辑,历史替换和代码完成。也许最快的检查是否支持命令行编辑是输入 Control-P你得到的第一个Python提示。如果发出哔哔声,您可以进行命令行编辑; 有关键的介绍,请参阅附录交互式输入编辑和历史替换。如果没有发生任何事情,或者是否^P回显,则命令行编辑不可用; 你只能使用退格键从当前行中删除字符。

解释器的操作有点像Unix shell:当使用连接到tty设备的标准输入调用时,它以交互方式读取和执行命令; 当使用文件名参数或文件作为标准输入调用时,它会从该文件中读取并执行脚本

启动解释器的第二种方法是执行命令中的语句,类似于shell的 选项。由于Python语句通常包含空格或shell特有的其他字符,因此通常建议使用单引号引用 命令python -c command [arg] ...-c

一些Python模块也可用作脚本。可以使用这些来调用它们 ,它执行模块的源文件,就像在命令行中拼写出它的全名一样。python -m module [arg] ...

使用脚本文件时,有时可以运行脚本并在之后进入交互模式。这可以通过-i 在脚本之前传递来完成。

命令行和环境中描述了所有命令行选项。

2.1.1 参数传递

当解释器知道时,脚本名称和其后的附加参数将变为字符串列表并分配给模块中的argv 变量sys。您可以通过执行来访问此列表。清单的长度至少为一; 当没有给出脚本和参数时,是一个空字符串。当脚本名称为 (表示标准输入)时,设置为。使用 命令时,设置为。使用 模块时, 将其设置为所定位模块的全名。命令模块之后找到 的选项不会被Python解释器的选项处理使用,而是留在import syssys.argv[0]'-'sys.argv[0]'-'-csys.argv[0]'-c'-m sys.argv[0]-c -m sys.argv 用于处理的命令或模块。

2.1.2。交互模式

当从tty读取命令时,解释器被称为处于交互模式。在这种模式下,它会提示下一个带有主要提示的命令,通常是三个大于号(>>>); 对于连续行,它会提示辅助提示,默认为三个点(...)。在打印第一个提示之前,解释程序会打印一条欢迎消息,说明其版本号和版权声明:

$ python3.7
Python 3.7 (default, Sep 16 2015, 09:25:04)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

多行程序构造时需要使用延续线。举个例子,看看这个if声明:

>>>

>>> the_world_is_flat = True
>>> if the_world_is_flat:
...     print("Be careful not to fall off!")
...
Be careful not to fall off!


2.2 解释器及其环境

2.2.1 源代码编码

默认情况下,Python源文件被视为以UTF-8编码。在该编码中,世界上大多数语言的字符可以同时用于字符串文字,标识符和注释 - 尽管标准库仅使用ASCII字符作为标识符,这是任何可移植代码应遵循的约定。要正确显示所有这些字符,编辑器必须识别该文件是UTF-8,并且必须使用支持文件中所有字符的字体。

要声明非默认编码,应添加一个特殊注释行作为文件的第一行。语法如下

# -*- coding: encoding -*-

其中encodingcodecsPython支持的有效编码之一。

例如,要声明要使用Windows-1252编码,源代码文件的第一行应为:

# -*- coding: cp1252 -*-

第一行规则的一个例外是源代码以UNIX“shebang”行开头 。在这种情况下,应将编码声明添加为文件的第二行。例如:

#!/usr/bin/env python3
# -*- coding: cp1252 -*-