python代码是如何运行的

  介绍

这篇文章给大家分享的是有关python代码是如何运行的的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

python作为一种动态语言,其实是一个解释器软件包。当python运行脚本时,在代码开始进行处理之前,python还会执行一些步骤。第一步是编译成所谓的“字节码”,如果python进程拥有写入权限,将把程序的字节码保存为一个以。佩克为扩展名的文件,如果Python无法在机器上写入字节码,程序仍然可以工作:字节码将会在内存中生成并在程序结束时简单地丢弃。一旦程序编译成字节码(或字节码从已经存在的。佩克文件中载入),之后的字节码发送到通常称为Python虚拟机(Python VirtualMachine,简写为PVM)上来执行.PVM不是一个独立的程序,是Python的运行引擎,不需要安装。事实上PVM就是迭代运行字节码指令的一个大循环,一个接一个地完成操作。

Python学习网,大量的免费Python视频教程,欢迎在线学习!

因此Python具有更多的动态语言特性:在运行时,Python程序去构建并执行另一个Python程序是有可能的,而且往往是非常方便的,例如,eval和exec内置模块,能够接受并运行包含Python程序代码的字符串。使用如下代码可以查看添加函数的字节码:

import 说      def 添加(a, b):   ,,,=a + b   ,,,return 和      print (dis.dis(添加)

主要的python解释器

<强> CPython的

当我们从python官方网站下载并安装好python 3. x后,我们就直接获得了一个官方版本的解释器:CPython的。这个解释器是用C语言开发的,所以叫CPython的。在命令行下运行python就是启动CPython的解释器.CPython是使用最广的python解释器,也是默认的python解释器。

<强> IPython

IPython是基之于CPython上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE.CPython用祝辞祝辞祝辞作为提示符,而在IPython用[序号]:作为提示符。

<强> PyPy

PyPy是另一个python解释器,它的目标是执行速度.PyPy采用JIT技术,对python代码进行动态编译(注意不是解释),所以可以显著提高python代码的执行速度。

绝大部分python代码都可以在PyPy下运行,但是PyPy和CPython的有一些是不同的,这就导致相同的python代码在两种解释器下执行可能会有不同的结果。

<强> Jython

Jython是运行在Java平台上的python解释器,可以直接把python代码编译成Java字节码执行.Jython脚本可以应用于开发Web applet和servlet,建立基于Java的GUI。此外,Jython具有集成支持的功能,允许导入python代码或使用Java的类。因为Jython要比CPython的慢而且也不够健壮,它往往看做是一个主要面向寻找Java代码前端脚本语言的Java开发者的一个有趣的工具。

IronPython

IronPython和Jython类似,只不过IronPython是运行在微软。net平台上的python解释器,可以直接把python代码编译成。净的字节码。

生成独立运行程序

借助一些第三方工具Python程序可以生成独立的可执行二进制代码文件进行分发。这些第三方工具能够将程序的字节码,PVM(解释器)以及任何程序所需要的Python支持文件捆绑在一起形成一个单独的文件,主要有三种工具:py2exe (Windows下使用),PyInstaller(和py2exe类似,它能够在Linux及UNIX上使用,并且能够生成自安装的独立执行程序)以及冻结(最初始的版本)。

感谢各位的阅读!关于Python代码是如何运行的就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

python代码是如何运行的