使用 Python 解释器

目录

调用Python解释器

参数传递

交互模式

解释器及其环境

源程序编码


调用Python解释器

        Python解释器通常被安装在目标机器的/usr/local/bin/python3.5目录下。将/usr/local/bin目录包含进Unix shell的搜索路径里,以确保可以通过输入:

python3.5

        命令来启动他。[1]由于 Python 解释器的安装路径是可选的,这也可能是其它路径,可以联系安装Python的用户或系统管理员确认(例如,/usr/local/python就是一个常见的选择)。

        在Windows机器上,Python通常安装在C:\Python3.5位置,当然可以在运行安装向导时修改此值。要想把此目录添加到你的 PATH 环境变量中,可以在 DOS 窗口中输入以下命令:

set path=%path%;C:\python35

        通常可以在主窗口输入一个文件结束符(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参数来实现。

参数传递

        调用解释器时,脚本名和附加参数传入一个名为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中,供脚本命令操作。

交互模式

        从 tty 读取命令时,我们称解释器工作于交互模式。这种模式下它根据主提示符来执行,主提示符通常标识为三个大于号(>>>);继续的部分被称为从属提示符,由三个点标识(...)。在第一行之前,解释器打印欢迎信息、版本号和授权提示:

$ python3.5
Python 3.5.2 (default, Mar 16 2014, 09:25:04)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

        输入多行结构时需要从属提示符了,例如,下面这个if语句:

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

​        关于交互模式更多的内容,可以参考交互模式。​

解释器及其环境

源程序编码

        默认情况下,Python源文件是UTF-8编码。在此编码下,全世界大多数语言的字符可以同时用在字符串、标识符和注释中 — 尽管 Python 标准库仅使用 ASCII 字符做为标识符,这只是任何可移植代码应该遵守的约定。如果要正确的显示所有的字符,你的编辑器必须能识别出文件是 UTF-8 编码,并且它使用的字体能支持文件中所有的字符。

        也可以为源文件指定不同的字符编码。为此,在#!行(首行)后插入至少一行特殊的注释行来定义源文件的编码:

# -*- coding: encoding -*-

        通过此声明,源文件中所有的东西都会被当做用encoding指代的UTF-8编码对待。在Python库参考手册codecs一节中可以找到一张可用的编码列表。例如,如果编辑器不支持UTF-8编码的文件,但支持像Windows-1252的其他一些编码,你可以定义:​

# -*- coding: cp-1252 -*-

        这样就可以在源文件中使用Windows-1252字符集中的所有字符了。这个特殊的编码注释必须在文件中的第一或第二行定义。

注:

[1] 在 Unix 系统上,Python 3.X解释器默认未被安装成名为python的命令,所以它不会与同时安装在系统中的 Python 2.x 命令冲突。
上一篇:今日学习总结1.20


下一篇:2021-11-05