2. 使用Python解释器(基础篇)

2. 使用Python解释器

2.1.调用解释器

Python解释器通常作为/usr/local/bin/python3.8安装在可用的机器上;将/usr/local/bin放在Unix shell的搜索路径中,可以通过键入以下命令来启动它:

python3.8

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

在已从Microsoft应用商店安装Python的Windows计算机上,python3.8命令将可用。如果你有py.exe文件安装了启动程序,可以使用py命令。请参阅Excursus:为启动Python的其他方法设置环境变量。
在主提示符处键入文件结尾字符(Unix上为Control-D,Windows上为Control-Z),将导致解释器以零退出状态退出。如果不起作用,可以通过键入以下命令退出解释器:quit()

解释器的行编辑功能包括交互式编辑、历史替换和支持GNU Readline库的系统上的代码完成。查看是否支持命令行编辑的最快检查方法可能是在第一个Python提示符中键入Control-P。如果它发出哔哔声,您就可以进行命令行编辑;有关键的介绍,请参阅附录交互式输入编辑和历史替换。如果什么也没有发生,或者^P被回显,则命令行编辑将不可用;您只能使用backspace从当前行中删除字符。

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

启动解释器的第二种方法是python-c command[arg]…,它执行command中的语句,类似于shell的-c选项。由于Python语句通常包含空格或shell特有的其他字符,因此通常建议使用单引号将整个命令括起来。

一些Python模块也可用作脚本。可以使用python-m module[arg]…,调用它们,它执行模块的源文件,就好像您在命令行上拼出了它的全名一样。

使用脚本文件时,有时可以运行脚本并随后进入交互模式。这可以通过在脚本之前传递-i来完成。
命令行和环境中描述了所有命令行选项。

2.1.1.参数传递

解释器知道脚本名后,脚本名和其他参数将转换为字符串列表,并分配给sys模块中的argv变量。您可以通过执行import sys来访问此列表。列表的长度至少为1;如果没有给定脚本和参数,系统argv[0]是空字符串。当脚本名为“-”(表示标准输入)时,系统argv[0]设置为“-”。当使用-c命令时,系统argv[0]设置为’-c’。当使用-m模块时,系统argv[0]设置为所定位模块的全名。在-c命令或-m模块之后找到的选项不会被Python解释器的选项处理使用,而是留在系统argv对于要处理的命令或模块。

2.1.2.交互模式

当从tty读取命令时,解释程序被称为处于交互模式。在这种模式下,它用主提示符提示下一个命令,通常是三个大于号(>>>);对于连续行,它用辅助提示符提示,默认情况下是三个点(…)。在打印第一个提示之前,口译员打印一条欢迎信息,说明其版本号和版权声明:

$ python3.8
Python 3.8 (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 -*-

其中编码是Python支持的有效编解码器之一。

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

# -*- coding: cp1252 -*-

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

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

但是我们汉语开发环境中,经常会用到的编码是UTF-8,所以将源代码文件的第一行写为:

# -*- coding: utf-8 -*-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小叶柏杉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值