
1.1.3 Python语言的运行方式
计算机只能识别机器码,不能识别源代码,因此在程序运行前,需要把源代码转换成机器码。按转换过程可以把计算机语言分为解释型语言和编译型语言。
编译型语言在程序运行之前,通过编译器将源代码变成机器码,如C语言。这种类型的语言运行速度快,但是编译过程需要花费大量时间,开发效率较低,而且编译后的机器码不能跨平台移植。
解释型语言在程序运行时,通过解释器对程序逐行翻译,先翻译为机器码后再执行,如JavaScript。相比于编译型语言,解释型语言开发效率更高,省去了编译过程的时间,可以跨平台,但因为在程序运行时需要先做翻译,所以运行速度较慢。
Python属于解释型语言,是为了提高运行速度而使用的一种编译的方法。编译之后得到后缀为“.pyc”的文件,用于存储字节码(特定于Python语言的表现形式,不是机器码)。在运行期间使用编译后的字节码可以加快到机器码翻译过程,如图1.2所示,Python源代码在第一次运行时编译出字节码,以后重复运行时会直接使用字节码,所以Python比一般的解释型语言有更快的运行速度。

图1.2 Python语言的运行方式
综上所述,Python程序运行前不需要编译,运行时通过Python解释器逐行执行,具体的运行方式有如下3种。
1.交互解释器模式(REPL)
在命令提示符(终端)界面中输入“Python”,进入交互解释模式。在该模式中输入Python程序后,只需按Enter键,即可得到运行结果。
2.脚本模式
将Python程序写到后缀为“.py”的脚本文件中,使用“python xx.py”,即可运行文件中的程序,这种方式可以方便地重复运行程序。
3.集成开发环境(IDE)
在集成开发环境中编写Python程序,如PyCharm,其本质和脚本模式相同,但无须手动创建脚本文件,只需在图形化界面中完成Python脚本的创建,也无须在命令行中输入任何指令,在集成开发环境中即可“一键运行”。