python作为一种动态语言,其实是一个解释器软件包。当Python运行脚本时,在代码开始进行处理之前,Python还会执行一些步骤。第一步是编译成所谓的“字节码”,如果Python进程拥有写入权限,将把程序的字节码保存为一个以.pyc为扩展名的文件, 如果Python无法在机器上写入字节码,程序仍然可以工作:字节码将会在内存中生成并在程序结束时简单地丢弃。

一旦程序编译成字节码(或字节码从已经存在的.pyc文件中载入),之后的字节码发送到通常称为Python虚拟机(Python VirtualMachine,简写为PVM)上来执行。PVM不是一个独立的程序,是Python的运行引擎,不需要安装。事实上PVM就是迭代运行字节码指令的一个大循环,一个接一个地完成操作。

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

def add(a,b):

sum=a+b

return sum

print(dis.dis(add))

主要的python解释器

CPython

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

IPython

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

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代码编译成.Net的字节码。

生成独立运行程序

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

python代码怎么运行-python代码是怎样运行的相关推荐

  1. python怎么重启内核_解决jupyter运行pyqt代码内核重启的问题

    在jupyter notebook或者是 Qtconsole下编译运行一个简单的pyqt程序,总是报错: The kernel appears to have died. It will restar ...

  2. 适合ipad的python编程软件-如何用iPad运行Python代码?

    其实,不只是iPad,手机也可以. 痛点 我组织过几次线下编程工作坊,带着同学们用Python处理数据科学问题. 其中最让人头疼的,就是运行环境的安装. 实事求是地讲,参加工作坊之前,我已经做了认真准 ...

  3. python手机版打了代码运行不了-如何用iPad运行Python代码?

    代码在我的Macbook电脑上跑,没有问题.还拿到学生的Windows 7上跑,也没有问题.这才上传到了Github. 在发布的教程文章里,我也已经把安装软件包的说明写得非常详细. 还针对 Anaco ...

  4. python手机版打了代码运行不了-三款可以在安卓手机上运行Python代码的软件

    导语 READ 我相信大家平时大多数时间肯定都是在电脑上面敲Python代码,有时候出门外或者不方便使用电脑的时候,你是否曾想用手机就能编写和运行Python代码呢?本文将会介绍3款不同的安卓软件帮忙 ...

  5. python代码写完怎么运行-教你如何编写、保存与运行 Python 程序

    第一步 接下来我们将看见如何在 Python 中运行一个传统的"Hello World"程序.Python教程本章将会教你如何编写.保存与运行 Python 程序. 通过 Pyth ...

  6. python代码怎么运行-python语言怎么运行

    1.使用Pyhton自身提供的交互式解释器 Windows启动Python交互式解释器有两种方式.第一种方式是进入Pyhton的安装目录,直接运行python.exe程序:第二种方式是进入Window ...

  7. python代码打好了怎么运行-python代码是怎样运行的

    python作为一种动态语言,其实是一个解释器软件包.当Python运行脚本时,在代码开始进行处理之前,Python还会执行一些步骤.第一步是编译成所谓的"字节码",如果Pytho ...

  8. python代码怎么运行-Python程序执行原理,python程序怎么运行的?

    随着人工智能时代的来临,python成为了人们学习编程的首先语言.那么,python程序的程序的执行原理什么呢?python程序怎么运行的?我们下面来介绍下. 我们都知道,使用CC++之类的编译性语言 ...

  9. python代码怎么运行-python代码如何运行

    交互提示模式下编写代码 安装完Python在Windows 或 Linux中的终端中直接输入python即进入Python 交互会话模式. Python 交互模式有以下几个注意点: 1. 只能够输入P ...

最新文章

  1. 盘点|最实用的机器学习算法优缺点分析,没有比这篇说得更好了
  2. 题目3:文本文件单词的检索与计数(实验准备)
  3. linux l显示详细信息,fdisk -l显示信息详解
  4. C语言递归实现二叉树(二叉链表)的三种遍历和销毁操作(实验)
  5. oracle创建多个游标,Oracle——游标的创建和使用
  6. Java反射 field
  7. mac vim 无颜色 增加颜色
  8. iPhone开发之修改UINavigation Bar背景图片
  9. Verizon CEO证实公司正考虑出价收购雅虎
  10. paip.java gui swt/jface 最佳实践
  11. 资深3D游戏建模师的酸甜苦辣
  12. Android颜色透明度(不透明度)
  13. M2增速8%处于历史地位——解读10月货币数据
  14. html css字体特效,40款CSS+JS文字动画特效html源码
  15. 免费域名备案查询接口
  16. python飞信api_使用python移动飞信模块发送短信
  17. 想要降低gradle版本时遇到“Minimum supported Gradle version is XXX. Current version is XXX.”
  18. 计算机wps文字基础知识,计算机基础及WPS Office应用常见考试内容
  19. 使用DreamweaverMX2004的搜索替换功能提高工作效率。
  20. 收视率和收视份额的区别

热门文章

  1. Ubuntu下ibus在firefox浏览器中选中即删除的解决办法
  2. Linux命令详解:[7]获得命令帮助
  3. 为什么全网 都在说 iOS 开发不行了 ?
  4. 访问一个HTTPS的网站的大致流程
  5. linux的cat命令
  6. scrapy-redis源码抛析
  7. jquery selector 使用方法
  8. 软件项目版本号的命名规则及格式
  9. 浅谈Android系统开发中LOG的使用
  10. python代码块所属关系的语法-天元高校邦数据科学通识课【Python基础语法】答案...