Python-pvm解释器运行程序原理

Python解释器简介
一般来说,我们讨论Python,是将其作为一门编程语言来详解.但是,从实际情况来看,Python也是一个名为解释器的软件包.解释器是可以让程序运行起来一套程序,具有独立性.所以当你写了一段代码之后,Python解释器读取程序,将其转化为命令执行,得出结果.
总的来说,解释器就是代码与计算机硬件之间的软件逻辑层.
Python程序执行过程
就简单的形式而言,一个Python程序仅仅是一个包含Python代码的文本文件.后缀是.py的文件,也是我们平常所熟知的Python脚本,但当我们运行Python脚本时,都进行了哪些动作,这里小编给大家讲解一下.

1.字节码编译
当程序运行时,Python内部会将源代码(.py文件中的程序)编译成所谓的字节码的形式.而且字节码是源代码底层的,与平台无关的表现形式(如果Python程序在机器上有写入权限,就可以在源代码同目录下看到编译后的文件后缀为.pyc的文件).总的来说,就是将每一行源代码语句从上到下翻译过来,翻译成一组字节码的指令.这些字节码可以提高执行速度;比起源代码语句,字节码要执行快的多
Python这样保存字节码是一种作为启动速度的优化.下一次运行程序时,如果你还停留在上一次修改记录的话,就会直接跳过编译直接加载.pyc文件.
2.Python的虚拟机(PVM)
程序被编译成字节码之后,就会被加载到通常被称为虚拟机的一个东西上(Virtual Machine)来执行,Python的虚拟机称为PVM(Python Virtual Machine).事实上,PVM就是迭代运行(类似for循环)字节码指令,然后操作系统会去执行这些命令.PVM是Python的运行引擎,它时常表现为Python系统的一部分,并且它是实际运行脚本的组件.

Python解释器的种类

1.CPython
我们平常所熟知的,也是原始的,标准的Python实现方式通常称为cpython.我们一般开发所使用就是这个解释器.它运行速度最快,最完整而且也最健全.
2.Jython
Jython(最初为JPython)是一种Python语言的替代实现方式,其目的是为了与java编程语言集成所用,Jython包含了Java类,这些类编译成Python代码,形成Java字节码,并将其运行在Java的虚拟机上(JVM).平常写程序时,编写Python语句;
Jython的目标就是让Python代码能够脚本化Java应用程序;它实现了与Java的无缝集成.但是Jython要比Cpython慢而且不够健壮,它往往看做是一个主要面向寻找Java代码前端脚本语言的Java开发者的一个工具.
3.IronPython
IronPython可以与windows平台上的.NET框架以及Linux上的开源的Mono编写成的应用相集成.IronPython允许Python程序既可以用作客户端也可以用作服务器端的组件,还可以与其他.NET的语言进行通信.
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页