
上QQ阅读APP看书,第一时间看更新
3.1 计算机如何执行Python程序
Python安装成功以后,它包含一些最基本的组件,如一个解释器和支持的库。解释器最基本的功能就是逐行理解我们写的程序,并顺序执行,如果出错,就停止执行并报错。这是我们程序员看到的执行过程,实际上,当程序执行时,Python解释器会先将我们的一行行代码编译成字节码指令(通常为.pyc扩展名),然后把字节码发送给一个Python虚拟机(Python Virtual Machine)去执行。
为什么要翻译成字节码?为什么要由虚拟机去执行?CPU不可以直接执行吗?好问题!
(1)为什么要翻译成字节码?
就像两个语言不同的人在交流时需要翻译,Python是为方便人和机器交流而研发的一种语言,显然它一定要让人类好写,好懂,这样一来,人类是方便了,效率也高了,但机器不喜欢这种形式的语言,因此有了翻译成字节码的过程,翻译好了,这个字节码就是Python虚拟机能读懂的东西。
(2)为什么要虚拟机?
计算机有很多种类,家里可能有台式机、笔记本电脑、平板电脑,这些不同种类的计算机使用了不同的CPU芯片,性能不同,价格差异很大,这就像汽车厂商会有各自不同的发动机一样,这些CPU上运行的操作系统也有很大不同,比如苹果电脑使用Mac OS,大部分台式机使用Windows。为了让Python在这些不同的操作系统上都能运行起来,定义了一个工作方式统一的虚拟机,不管底层的操作系统和CPU如何千变万化,虚拟机的工作方式保持不变,把具体底层CPU的适配交给操作系统。这就是虚拟机的作用。回过头来看,我们安装的时候,强调一定要选择和操作系统匹配的安装程序,也就是这个原因!