Python 解释器

查看全部 Python3 基础教程

调用解释器

安装目录

通常 Python 的解释器被安装在目标机器的 /usr/local/bin/python 目录下。因为安装路径是可选的,所以也有可能安装在其它位置,例如,/usr/local/python 就是一个很常见的选择。

启动解释器

解释器的操作有些像 Unix Shell:使用终端设备做为标准输入来调用它时,解释器交互的解读和执行命令,通过文件名参数或以文件做为标准输入设备时,它从文件中解读并执行脚本。

启动解释器的第二个方法是 python -c command [arg] ...",这种方法可以在命令行中直接执行语句,等同于Shell的 -c 选项。因为 Python 语句通常会包括空格之类的特殊字符,所以最好把 command 语句用双引号包起来。

两种输入方式

  • python <file
    程序中调用 input()raw_input() 这样的输入请求,来自于确定的文件。因为在程序开始执行前,解析器已经将文件全部读入,所以程序立即指向文件末尾。

  • python file
    通常方式,可以来自于任何连接到 Python 解释器的标准输入,无论是文件还是设备。

使用脚本文件时,经常会运行脚本然后进入交互模式。这可以通过在脚本前面加上 -i 参数来实现。如果脚本来自标准输入,就不能这样运行,原因同 python <file

退出解释器

输入一个文件结束符(Unix 上是 Ctrl+D,Windows 上是 Ctrl+Z)解释器会以 0 值正常退出。如果这没有起作用,你可以输入以下命令退出:import sys; sys.exit()

参数传递

传递参数时,脚本名和附加参数会被放入一个名为 sys.argv 的字符串列表,它的长度至少是 1。

  • 当没有给定脚本和参数时,sys.argv[0] 是一个空串;
  • 当给定脚本名为 - (表示标准输入)时,sys.argv[0] 被设置为 -
  • 当使用 -c 命令时,sys.argv[0] 被设定为 -c

-c 命令之后的参数不会被 Python 解释器的选项处理机制处理,而是留在 sys.argv 中,供脚本命令操作。

交互模式

当从 tty 中读取命令时,解释器被称为处于交互模式。在这种模式下,它以主要提示符提示下一个命令,通常是三个大于号(>>>);对于续行,它会以辅助提示符进行提示,默认为三个点(...)。解释器在打印第一个提示之前会打印一条欢迎消息,说明其版本号和版权声明:

$ python3.9
Python 3.9 (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!

更多详情可以参考交互模式

解释器及其环境

源程序编码

默认情况下,Python 源文件被视为采用 UTF-8 编码。通过这种编码,世界上大多数语言的字符都可以在字符串、标识符和注释中同时使用——尽管标准库仅将 ASCII 字符用作标识符,这是任何可移植代码都应遵循的约定。为了正确显示所有这些字符,编辑器必须能识别出文件的 UTF-8 编码,并提供支持该文件所有字符的字体。

要声明默认编码以外的其他编码,应在文件的第一行添加一个特殊的注释行。语法如下:
# -*- coding: encoding -*-
其中,encoding 是 Python 所支持的有效 codecs 之一。

例如,声明要使用 Windows-1252 编码,源代码文件的第一行应为:
# -*- coding: cp1252 -*-
“第一行规则”的一个例外情况是源代码以 UNIX“ shebang” 行开头。在这种情况下,应将编码声明添加为文件的第二行。例如:

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




参考资料

Python3 Tutorial – Using the Python Interpreter
Python3 Tutorial – Interactive Mode

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值