2. 使用python解释器¶
2.1. 调用解释器¶
python解释器通常安装为 /usr/local/bin/python3.10
在可用的机器上;放置 /usr/local/bin
在UNIX shell的搜索路径中,可以通过键入以下命令来启动它:
python3.10
到壳牌。 1 由于解释器所在目录的选择是一个安装选项,所以可以选择其他位置;请与本地的python guru或系统管理员联系。(例如, /usr/local/python
是一个很受欢迎的替代位置。)
在Windows计算机上,从 Microsoft Store , the python3.10
命令将可用。如果你有 py.exe launcher 已安装,您可以使用 py
命令。见 远足:设置环境变量 其他启动python的方法。
键入文件尾字符 (Control-D 在UNIX上, Control-Z 在Windows上)在主提示下,使解释器以零退出状态退出。如果不起作用,可以通过键入以下命令退出解释器: quit()
.
解释器的行编辑功能包括在支持 GNU Readline 类库。查看是否支持命令行编辑的最快检查可能是键入 Control-P 到第一个python提示。如果它发出嘟嘟声,您可以进行命令行编辑;请参见附录 交互式输入编辑与历史替换 为钥匙的介绍。如果没有任何事情发生,或者 ^P
回送,命令行编辑不可用;您只能使用退格键从当前行中删除字符。
解释器的操作有点像unix shell:当用连接到tty设备的标准输入调用时,解释器以交互方式读取和执行命令;当用文件名参数或文件作为标准输入调用时,解释器读取和执行 脚本 从那个文件。
启动解释器的第二种方法是 python -c command [arg] ...
,在中执行语句 命令 类似于外壳 -c
选项。由于python语句通常包含对shell特殊的空格或其他字符,因此通常建议引用 命令 全部用单引号括起来。
一些python模块也可用作脚本。可以使用 python -m module [arg] ...
,执行源文件 模块 就好像你在命令行上拼出了它的全名。
使用脚本文件时,有时能够运行脚本并随后进入交互模式非常有用。这可以通过传球完成 -i
在剧本之前。
所有命令行选项在 命令行和环境 .
2.1.1. 参数传递¶
当解释器知道时,脚本名和其后的其他参数将变为字符串列表并分配给 argv
中的变量 sys
模块。您可以通过执行 import sys
. 列表的长度至少为一个;如果没有给出脚本和参数, sys.argv[0]
是空字符串。当脚本名称指定为 '-'
(表示标准输入) sys.argv[0]
设置为 '-'
.什么时候? -c
命令 使用, sys.argv[0]
设置为 '-c'
.什么时候? -m
模块 使用, sys.argv[0]
设置为所定位模块的全名。之后找到的选项 -c
命令 或 -m
模块 不是由python解释器的选项处理使用,而是留在 sys.argv
用于命令或模块处理。
2.1.2. 交互模式¶
当从tty中读取命令时,就称解释器位于 交互模式 . 在此模式下,它会提示输入下一个命令 主提示 ,通常比符号大三个 (>>>
);对于续行,它会提示 二次提示 ,默认为三点 (...
)在打印第一个提示之前,解释器会打印一条欢迎消息,说明其版本号和版权声明:
$ python3.10
Python 3.10 (default, June 4 2019, 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 -*-
在哪里? encoding 是有效的 codecs
由python支持。
例如,要声明要使用Windows-1252编码,源代码文件的第一行应该是::
# -*- coding: cp1252 -*-
一个例外 第一行 规则是源代码以 UNIX "shebang" line . 在这种情况下,编码声明应该作为文件的第二行添加。例如::
#!/usr/bin/env python3
# -*- coding: cp1252 -*-
脚注
- 1
在UNIX上,默认情况下,python 3.x解释器不与名为
python
这样它就不会与同时安装的python 2.x可执行文件冲突。