![自学Python:编程基础、科学计算及数据分析(第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/909/45852909/b_45852909.jpg)
1.3.2 代码的运行模式:解释器模式与脚本模式
Python代码有两种运行模式,分别是解释器模式和脚本模式。
1.解释器模式
本书的第一行Python代码就是使用解释器模式运行的。由于IPython解释器具备Python解释器的完整功能,本书只对IPython解释器的使用进行介绍。
一个典型的解释器模式代码如下:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/15_04.jpg?sign=1739409726-BP39kk5cZXy6uGRrQPsR2G3vdg7DWNhg-0-1f728fbc6403aeadd565e60810e2eb2b)
各个部分的含义如下。
●以“#”开头到行末的部分是注释,注释起到说明代码的作用,不会被Python执行,注释不是必需的,可以省略。
●“In []:”表示是输入代码的指示符,里面的数字会一直增加。
●输入多行代码时,IPython会自动显示“...:”,表示包含多行代码的输入块。
●“Out[]:”表示上一个输入“In []:”块中最后一行的值,如果最后一行的值为None,则不显示。
●print()函数打印到屏幕的结果显示在“In []:”块的下方,“Out[]:”块的上方。
2.脚本模式
与解释器模式对应,Python的另一种执行模式叫作脚本模式。脚本模式需要将Python代码写入一个文本文件运行。将上文解释器模式中使用的代码写入一个文本文件,命名为“test.py”,其内容为:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/16_01.jpg?sign=1739409726-0etecWco4TeNNz0CMreG5noYhIGYdinJ-0-db6c7ed02c147bec14cb4f8b738671e5)
在文件所在的文件夹打开命令行界面,输入:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/16_02.jpg?sign=1739409726-03hI0R0KumgM5Fos12XGOXo6pWeTiGMs-0-0637a3ba4b48f0d868308db3be51ad3b)
便可以得到脚本模式下Python代码执行的结果:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/16_03.jpg?sign=1739409726-x4ROsrPclg6HkuNskpzOkWlbfwg02zh2-0-c91c6174ef3abf8beeab0dbfb2efb9eb)
Windows系统下,可以在文件所在文件夹下,通过按〈Shift〉键和单击鼠标右键,选择在此处打开PowerShell(或Shell)窗口,打开这个文件夹对应的命令行界面;Windows、Mac、Linux系统下,也可以通过命令行的“cd”命令,将当前工作目录移动到这个文件所在的目录。例如,移动到Windows系统中的桌面目录:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/16_04.jpg?sign=1739409726-IcpjAr2CwxEskFCt5bkjVrpdMQRFq6Dm-0-afcad055bf71f07e02e94bf104d3dd0e)
或者移动到Mac系统中的桌面目录:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/16_05.jpg?sign=1739409726-6NkoVvNNDXryMyybZPPzF1cmptHqLpgG-0-4d0dd2087cf45355373af8cac9ff9c18)
3.解释器模式与脚本模式的差别
读者可能已经注意到在两种运行模式下的一些差别。本书简单地将差别总结为以下两点:第一,屏幕打印的内容差别,解释器模式可以通过“Out:”的部分,输出代码最后一行的变量值;而脚本模式中,只有print()函数打印的内容才会被显示到屏幕上,非print()函数的结果并不会被输出。第二,错误处理的差别,在解释器模式下,当输入代码有误时,解释器会给出错误原因,并前进到下一个输入,可以继续写入代码;而在脚本模式下,如果输入的代码包含错误,在错误之后的所有代码都不会被Python执行。
一般来说,解释器模式适合学习和调试代码,而脚本模式更多地被用于处理现实中的实际任务。不管是解释器模式还是脚本模式,Python的基本语法是一致的。注意,IPython解释器中的魔术命令与以“!”开头的命令不能在脚本模式直接使用。