2.1调用python解释器

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

python3.7

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

在您从Microsoft Store安装 Python 的 Windows 机器上,该python3.7命令将可用。如果您安装了py.exe 启动器,则可以使用该py 命令。请参阅Excursus:设置环境变量以了解其他启动 Python 的方法。

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

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

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

启动解释器的第二种方法是执行command中的语句,类似于 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]'-'-c sys.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 -*-

其中encodingcodecs是Python 支持的有效之一。

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

# -*- coding: cp1252 -*-

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

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