1.2 Python程序的运行方式
用Python解释器运行Python程序主要有以下3种模式。
1.2.1 交互模式
在终端中执行以下命令:
python3
可以启动Python解释器并进入交互模式:
Python 3.8.10 (default, Mar 15 2022, 12:22:08)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
所谓交互模式,就是允许用户每次在主提示符 >>>
后面输入一条或多条语句,然后按 Enter 键结束输入并让Python解释器开始执行,待执行完毕后,用户才可以继续输入后续的语句。注意:
(1)如果一次输入多条语句,语句之间需要用分号 ;
隔开。
(2)如果输入的是复合(多行)语句,输入结束之前,按 Enter 键换行。除第一行之外,其余的行都是在属(次)提示符 ...
之后输入,最后一行必须是一个空行。
>>> print('Hello, Python!')
Hello, Python!
>>> print('Hello');print('Python')
Hello
Python
>>> a = True
>>> if a == True:
... print('Hello')
... else:
... print('Python')
...
Hello
>>>
按 Ctrl + d
或者执行 quit() 命令,即可退出Python解释器。注意: 从解释器的交互模式退出时,之前在里面编写的所有代码都将丢失。
1.2.2 命令行脚本模式
在交互模式中,Python解释器的输入来自于stdin(标准输入设备,如键盘);而在命令行脚本模式中,Python解释器主要以Python程序的源文件作为输入,读取文件并将文件作为脚本执行。例如:
首先,用文本编辑器(如:vim、gedit等)编辑一个Python程序的源文件Hello.py。
#! /usr/bin/env python3
print('Hello, Python!')
然后,在终端中运行Python脚本。一般有以下两种方式:
1、直接执行Python脚本
在Linux终端中,可以像执行Shell脚本一样直接运行Python脚本,例如:
./Hello.py
运行结果如下:
Hello, Python!
注意:Python脚本名字之前要有正确的路径名。即使Python脚本就在当前的工作目录中,直接运行Python脚本时,也要在脚本名之前加上 ./
。
另外,要采用这种方式,必须要满足两个前提条件:
(1)Python脚本要有可执行权限。可以执行以下命令为Python脚本添加可执行权限:
chmod +x Hello.py
(2)在Python脚本的第一行必须添加以下语句:
#! /usr/bin/python3
或者
#! /usr/bin/env python3
#!
是特殊标识符,用于指定由哪个解释器来执行当前的脚本。第一个命令是告诉操作系统在执行这个脚本的时候,调用/usr/bin目录下的python3解释器(在Linux系统中,Python解释器默认安装在这个目录下)。第二个命令是以python3为参数的env命令,当系统看到这个命令的时候,首先到系统环境变量(PATH)中查找python3解释器的安装路径,再调用相应路径下的解释器运行脚本。相比较而言,第二个命令可以防止用户没有将Python解释器安装在/usr/bin目录下,也更加灵活,但首先要保证python3解释器的安装路径在系统的环境变量中。
除了脚本名之外,还可以根据实际需要在脚本名之后附加其他参数。调用解释器时,脚本的名字和附加参数都会传入到一个名为 sys.argv 的字符串列表中。在Python脚本中导入sys模块,就可以获得这个列表中的元素,sys.argv[0],sys.argv[1],…。例如:创建的源文件Hello_Argv.py如下所示:
#! /usr/bin/env python3
import sys
print('Hello, Python!')
print(sys.argv)
在终端中执行以下命令:
./Hello_Argv.py 参数1 参数2
运行结果如下:
Hello, Python!
['./Hello_Argv.py', '参数1', '参数2']
在这种方式中,用终端命令行中python3 命令指定并启动Python解释器,与之前介绍的脚本中的命令 #! /usr/bin/env python3 是等价的,但如果在终端命令行中指定了Python解释器,脚本中指定Python解释器的语句就不起作用了。脚本名是python3命令的一个参数,和第一种方式一样,在脚本名后面可以附加其他参数。
1.2.3 集成开发环境模式
比较复杂的程序通常在Python的集成开发环境(IDE,Integrated Development Environment)中编辑、运行和调试,常用的有IDLE、PyCharm等,在使用方式上与其他语言的集成开发环境没有太大的区别。在本教程中,Python的示例程序主要采用前两种方式运行,用户也可选择自己喜欢的Python集成开发环境并通过查阅相关教程学习其安装和使用方法。
本文在CSDN、公众号、头条号和知乎同步发布,感谢关注。