2. 使用Python 解释器

2. 使用Python 解释器 

2.1. 调用解释器

在可以使用Python的系统中,解释器通常位于/usr/local/bin/python3.5;在Unix shell中设置路径 /usr/local/bin ,之后可以通过键入命令:

python3.5

来启动解释器。[1]由于解释器安装的目录是一个安装可选项,其它的路径也是可行的。请与您本地的Python专家或系统管理员联系。(一般 /usr/local/python 为最常见的安装位置。)

在 Windows中,Python 通常安装在 C:\Python35,在运行安装程序时,您可以更改安装路径。你可以在DOS窗口的命令提示符下键入以下命令来把这个目录添加到path中:

set path=%path%;C:\python35

主提示符下键入文件结束字符 (Unix下为Control-D,Windows下为 Control- Z) 可以让解释器以零退出状态退出。如果无效,您也可以通过键入以下命令退出解释器︰quit()

解释器的行编辑功能通常不是很复杂。在Unix上,不管是谁安装的,解释器可能已启用对GNU readline库的支持,该库添加了更详细的交互式编辑和历史记录功能。检查是否支持命令行编辑的最快的方式也许是对你的第一个Python提示符键入Control-P如果它发出蜂鸣声,则有命令行编辑;请参阅附录交互式输入编辑和历史替换 的有关快捷键的介绍。如果什么都没发生,或者显示^ P,则命令行编辑不可用;你就只能够使用退格键删除当前行中的字符。

解释器有些像Unix shell:当调用时使用连接到一个tty设备作为标准输入,它交互地读取并执行命令;当用文件名参数或文件作为标准输入调用,它将读取并执行该文件中的脚本

第二种启动解释器的方式是python -c 命令 [arg] ... ,它会执行command中的语句,类似于shell-c 选项。因为Python语句经常包含空格或其他shell特殊字符,通常建议把全部command放在单引号里。

有些 Python 模块也是可执行的脚本。这些模块可以使用 python -m 模块 [arg] ...直接调用,这和在命令行输入完整的路径名执行module的源文件是一样的。

当使用一个脚本文件时,运行该脚本之后进入交互模式,有时是很有用的。这可以通过在脚本前面加上-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 command 或 -m module 后面的选项不会被Python解释器的选项处理机制解析,而是被保存在sys.argv 中,供命令或模块使用

2.1.2. 交互模式

当从 tty 读取命令时,我们说解释器在交互模式 下。这种模式下解释器以 初始提示符 提示下一个命令,主提示符通常为三个大于号(>>>);对于续行解释器以 从提示符 提示,默认为三个点(...)。在第一个提示符之前,解释器会打印出一条欢迎信息声明它的版本号和授权公告:

$ python3.5
Python 3.5 (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 -*-

通过此声明,源文件中的所有字符将被视为由 encoding 而不是UTF-8编码。可用编码列表可以在 Python 库参考,见于关于 编解码器 的一节。

例如,如果你选择的编辑器不支持UTF-8编码的文件,而只能用其它编码比如Windows-1252,你可以这样写:

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

然后源文件中的所有字符仍然使用Windows-1252字符集。这个特殊的编码注释必须位于文件的第一或者第二 行。

脚注

[1]在 Unix 上,为了与同时安装 Python 2.x 可执行文件,默认情况下不是以 python 来为python 3.x 可执行文件命名的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值