2. 使用 Python 解释器

2.1 唤出解释器

在可用的机器上,Python 解释器通常被安装为 /usr/local/bin/python3.14
/usr/local/bin 加入你的 Unix shell 搜索路径后,可通过输入以下命令启动解释器:

python3.14

这样就可以在 shell 中运行 Python 了1
因为可以选择安装目录,解释器也可能安装在别的位置;
如有疑问,请向本地的 Python 使用者或系统管理员咨询(常见备选路径还有 /usr/local/python)。

在 Windows 上通过 Microsoft Store 安装 Python 后,python3.14 命令可用。
如果安装了 py.exe 启动器,可使用 py 命令。
请参阅“Python 安装管理器”了解其他启动方式。

在主提示符中输入文件结束符(Unix 为 Control-D,Windows 为 Control-Z)可以退出解释器,退出状态码为 0。
如果无法退出,也可以输入 quit()

在支持 GNU Readline 的系统中,解释器提供行编辑功能(交互式编辑、历史替换、代码补全等)。
检测是否支持命令行编辑的快速方式是,在首次出现 Python 提示符时输入 Control-P
若听到“哔”声,说明支持;
若无反应或回显 ^P,说明不支持,只能用退格键删除当前行的字符。
详见附录“交互式编辑和编辑历史”。

解释器的操作类似 Unix Shell:
当从与 tty 设备关联的标准输入调用时,可交互式读取并执行命令;
以文件名参数或通过标准输入调用时,则读取并执行文件中的脚本。
另一种启动方式是:

python -c "command [arg] ..."

这会执行 command 中的语句(类似 shell 的 -c 选项)。
由于 Python 语句常包含空格或 shell 特殊字符,建议用引号括起整个命令。
Python 模块也可当作脚本使用:

python -m module [arg] ...

这会执行模块的源文件,相当于在命令行写出完整路径。
在交互模式下运行脚本文件,可在脚本名参数前加 -i 选项以进入交互环境。
命令行的所有选项详见“命令行与环境”。

2.1.1 传入参数

解释器读取命令行参数,把脚本名与其他参数转为字符串列表存入 sys 模块的 argv 变量。
执行 import sys 可导入该模块并访问此列表。
该列表至少有一个元素;
未给定输入参数时,sys.argv[0] 是空字符串。
给定脚本名为 '-'(标准输入)时,sys.argv[0]'-'
使用 -c command 时,sys.argv[0]'-c'
使用 -m module 时,sys.argv[0] 为包含目录的模块全名。
解释器不会处理 -c-m 之后的选项,而是将它们保留在 sys.argv 中由命令或模块处理。

2.1.2 交互模式

在终端(tty)输入并执行指令时,解释器处于交互模式(interactive mode)。
在该模式中会显示主提示符(通常为 >>>)提示输入下一条指令;
输入连续行时显示次要提示符(默认 ...)。
进入解释器时先显示欢迎信息、版本信息和版权声明,然后才是提示符,例如:

python3.14
Python 3.14 (default, April 4 2024, 09:25:04)
[GCC 10.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

输入多行构造的语句时要使用连续行。
示例:

the_world_is_flat = True
if the_world_is_flat:
    print("小心别掉下去!") #小心别掉下去!

交互模式的更多内容见“交互模式”。

2.2 解释器的运行环境

2.2.1 源文件的字符编码

默认情况下,Python 源码文件的编码为 UTF-8
这种编码支持大多数语言字符,可用于字符串字面量、变量、函数名及注释——尽管标准库仅使用常规 ASCII 作为变量名或函数名,可移植代码应遵守该约定。
要正确显示这些字符,编辑器需识别 UTF-8 并使用能显示文件中所有字符的字体。
如果不使用默认编码,则在文件的第一行声明编码,格式如下:

# -*- coding: encoding -*-

其中 encoding 为 Python 支持的任意 codecs。
例如,声明使用 Windows-1252 编码:

# -*- coding: cp1252 -*-

当源码以 UNIX “shebang” 行开头时,编码声明应写在第二行,例如:

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

备注


  1. 在 Unix 系统中,为了不与同时安装的 Python 2.x 冲突,Python 3.x 解释器默认安装的可执行文件名通常不是 python↩︎

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐