![自学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=1739600958-yeJoHPBpJt7arqrEpBd6Evh650ibn9ei-0-05af6a62e191daddee52191f60e744f3)
各个部分的含义如下。
●以“#”开头到行末的部分是注释,注释起到说明代码的作用,不会被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=1739600958-HyyNNHimbo160GqNislF36FTjAcglRhX-0-e2f6d216a653a04ac80d388e6f67d8e1)
在文件所在的文件夹打开命令行界面,输入:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/16_02.jpg?sign=1739600958-VM6SsjD2XMj9iNgrwMYM7ehAlJ0McyhU-0-bf4f99a1f3775985a0b587672037d267)
便可以得到脚本模式下Python代码执行的结果:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/16_03.jpg?sign=1739600958-9udlOQkSP0r6edA2MKhzZWJb4kDq7Rai-0-4a5a49507cf6037a53c3b25c742ac5d4)
Windows系统下,可以在文件所在文件夹下,通过按〈Shift〉键和单击鼠标右键,选择在此处打开PowerShell(或Shell)窗口,打开这个文件夹对应的命令行界面;Windows、Mac、Linux系统下,也可以通过命令行的“cd”命令,将当前工作目录移动到这个文件所在的目录。例如,移动到Windows系统中的桌面目录:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/16_04.jpg?sign=1739600958-iGjJT0hC50TuHvghCfEKF9C2LZ3myMkW-0-540e8cef37a2002fc0b8199d1ef0e2ae)
或者移动到Mac系统中的桌面目录:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/16_05.jpg?sign=1739600958-T473r4Qc84f3BI7WVoG0f4ACWqVv34Bg-0-c0e644a734939884a87cd072c3299709)
3.解释器模式与脚本模式的差别
读者可能已经注意到在两种运行模式下的一些差别。本书简单地将差别总结为以下两点:第一,屏幕打印的内容差别,解释器模式可以通过“Out:”的部分,输出代码最后一行的变量值;而脚本模式中,只有print()函数打印的内容才会被显示到屏幕上,非print()函数的结果并不会被输出。第二,错误处理的差别,在解释器模式下,当输入代码有误时,解释器会给出错误原因,并前进到下一个输入,可以继续写入代码;而在脚本模式下,如果输入的代码包含错误,在错误之后的所有代码都不会被Python执行。
一般来说,解释器模式适合学习和调试代码,而脚本模式更多地被用于处理现实中的实际任务。不管是解释器模式还是脚本模式,Python的基本语法是一致的。注意,IPython解释器中的魔术命令与以“!”开头的命令不能在脚本模式直接使用。