python要知道怎么用好编译器。当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。

由于整个Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种Python解释器,比如:

CPython

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

CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。

IPython

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

CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。

PyPy

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

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

Jython

Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

IronPython

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

以上的你都见过吧:虽然Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python常用编译器和解释器的区别_Python常用编译器原理及特点解析相关推荐

  1. python编辑器和python解释器的区别_python编译器和解释器的区别

    高级语言不能直接被机器所理解执行,所以都需要一个翻译的阶段,解释型语言用到的是解释器,编译型语言用到的是编译器. 编译型语言通常的执行过程是:源代码--预处理器--编译器--目标代码--链接器--可执 ...

  2. 关于编译器与解释器的区别

    为了让更多的人能够从本质上理解编译器和解释器的区别,我杜撰了一个小故事 来福与旺财的养牛场 来福和旺财有一个养 牛场.本来养牛不是一件太难的事情,但是偏偏他俩养的牛都有特别的怪癖.奶牛阿圆只吃切成圆形 ...

  3. 编译器与解释器的区别

    为了让更多的人能够从本质上理解编译器和解释器的区别,我杜撰了一个小故事 来福与旺财的养牛场 来福和旺财有一 个养 牛场.本来养牛不是一件太难的事情,但是偏偏他俩养的牛都有特别的怪癖.奶牛阿圆只吃切成圆 ...

  4. python术语中英对照栈图_Python常用技术栈总结

    在python的基础上,加入了自己的理解,修改一些错误.最近准备去一线城市谋求发展,所以打算重新整理一下,顺便加深一下记忆. Table of Contents Python语言特性 1 Python ...

  5. python中raise和raise e区别_python raise和assert的区别

    python中raise和assert的区别 一.使用raise抛出异常 python可以自动触发异常,raise(内置函数)的定义为显示的抛出异常,用户可以使用raise进行判断,显式的引发异常,r ...

  6. python中函数和类的区别_Python中函数和方法的区别

    简单总结: 与类和实例无绑定关系的function都属于函数(function): 与类和实例有绑定关系的function都属于方法(method). 首先摒弃错误认知:并不是类中的调用都叫方法 函数 ...

  7. python中int和eval的区别_python中eval与int的区别浅析

    python中eval和int的区别是什么?下面给大家介绍一下: 1.eval()函数 eval()能够以Python表达式的方式解析并执行字符串,并将返回结果输出.eval()函数将去掉字符串的两个 ...

  8. python中浅拷贝和深拷贝的区别_Python中浅拷贝和深拷贝的区别

    Python中浅拷贝和深拷贝的区别 浅拷贝和深拷贝示意图 如上图,简单点说 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象. 2. copy.deepcopy 深拷贝 拷贝 ...

  9. python直接用解释器编写和编辑器的区别_Python语言编译器与解释器

    版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处. 一.解释型语言Python Python语言是一种解释型.面向对象.动态数据类型的高级程序设计语言.编译型语言 先整体编译,再执行 运行速 ...

最新文章

  1. 洛谷P4199 万径人踪灭(manacher+FFT)
  2. 【Python学习系列二十一】pandas库基本操作
  3. ASP.NET实现文件上传
  4. VS中使用NuGet安装依赖时提示:无法安装程序包“xxx”。你正在尝试将此程序包安装到目标为“.NETFramework,Version=v4.5”的项目中
  5. ExtJs 3.1 XmlTreeLoader Example Error
  6. open,write,read与fopen,fwrite,fread的区别
  7. 第2章-神经网络的数学基础(笔记)
  8. 如何处理Marketing Cloud OData服务的错误消息
  9. 你和女朋友的婚后老年生活!
  10. c++代码好玩_一行Python代码能干嘛?快来看看吧!有表白利器哦
  11. Codeforces Round #FF
  12. python文献检索工具与技巧答案_短文本分析----基于python的TF-IDF特征词标签自动化提取...
  13. mysql大于等于怎么写_MySQL 对于千万级的大表要怎么优化?我写了6000字的深度解读...
  14. 优美诗词(持续更新)
  15. U盘文件目录损坏且无法读取
  16. java读取pdf文档
  17. 搜索引擎原理第三阶段之排名
  18. e会学计算机课后作业答案,大学语文网课答案e会学
  19. 计算机一级vlookup函数的使用方法,电子档Excel中vlookup函数的使用方法(图解详细说明)...
  20. Matlab使用regress函数进行回归分析

热门文章

  1. 动态鼠标指针_推荐8款电脑鼠标指针,让你电脑不再千篇一律
  2. magento php mysql,安装lnmp nginx php mysql环境 -magento
  3. 读取word对应页码_毕业论文怎样自动生成目录及从任意页开始排页码
  4. 卸载一直在创建还原点_Win10电脑开机一直转圈无法进入系统的解决方法
  5. Python中的map和reduce函数简介
  6. Python命令行运行文件的实例方法
  7. Python拼接字符串的7种方法总结
  8. python3中reduce函数的使用
  9. note同步不及时 one_高速路失灵/A柱断裂…理想ONE的自动驾驶还能信吗?
  10. 腾讯微信是通过美国服务器传的吗,原来微信和QQ的文件是可以相互传输的!现在才知道,真是太可惜了...