python常用编译器和解释器的区别_Python常用编译器原理及特点解析
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常用编译器原理及特点解析相关推荐
- python编辑器和python解释器的区别_python编译器和解释器的区别
高级语言不能直接被机器所理解执行,所以都需要一个翻译的阶段,解释型语言用到的是解释器,编译型语言用到的是编译器. 编译型语言通常的执行过程是:源代码--预处理器--编译器--目标代码--链接器--可执 ...
- 关于编译器与解释器的区别
为了让更多的人能够从本质上理解编译器和解释器的区别,我杜撰了一个小故事 来福与旺财的养牛场 来福和旺财有一个养 牛场.本来养牛不是一件太难的事情,但是偏偏他俩养的牛都有特别的怪癖.奶牛阿圆只吃切成圆形 ...
- 编译器与解释器的区别
为了让更多的人能够从本质上理解编译器和解释器的区别,我杜撰了一个小故事 来福与旺财的养牛场 来福和旺财有一 个养 牛场.本来养牛不是一件太难的事情,但是偏偏他俩养的牛都有特别的怪癖.奶牛阿圆只吃切成圆 ...
- python术语中英对照栈图_Python常用技术栈总结
在python的基础上,加入了自己的理解,修改一些错误.最近准备去一线城市谋求发展,所以打算重新整理一下,顺便加深一下记忆. Table of Contents Python语言特性 1 Python ...
- python中raise和raise e区别_python raise和assert的区别
python中raise和assert的区别 一.使用raise抛出异常 python可以自动触发异常,raise(内置函数)的定义为显示的抛出异常,用户可以使用raise进行判断,显式的引发异常,r ...
- python中函数和类的区别_Python中函数和方法的区别
简单总结: 与类和实例无绑定关系的function都属于函数(function): 与类和实例有绑定关系的function都属于方法(method). 首先摒弃错误认知:并不是类中的调用都叫方法 函数 ...
- python中int和eval的区别_python中eval与int的区别浅析
python中eval和int的区别是什么?下面给大家介绍一下: 1.eval()函数 eval()能够以Python表达式的方式解析并执行字符串,并将返回结果输出.eval()函数将去掉字符串的两个 ...
- python中浅拷贝和深拷贝的区别_Python中浅拷贝和深拷贝的区别
Python中浅拷贝和深拷贝的区别 浅拷贝和深拷贝示意图 如上图,简单点说 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象. 2. copy.deepcopy 深拷贝 拷贝 ...
- python直接用解释器编写和编辑器的区别_Python语言编译器与解释器
版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处. 一.解释型语言Python Python语言是一种解释型.面向对象.动态数据类型的高级程序设计语言.编译型语言 先整体编译,再执行 运行速 ...
最新文章
- 洛谷P4199 万径人踪灭(manacher+FFT)
- 【Python学习系列二十一】pandas库基本操作
- ASP.NET实现文件上传
- VS中使用NuGet安装依赖时提示:无法安装程序包“xxx”。你正在尝试将此程序包安装到目标为“.NETFramework,Version=v4.5”的项目中
- ExtJs 3.1 XmlTreeLoader Example Error
- open,write,read与fopen,fwrite,fread的区别
- 第2章-神经网络的数学基础(笔记)
- 如何处理Marketing Cloud OData服务的错误消息
- 你和女朋友的婚后老年生活!
- c++代码好玩_一行Python代码能干嘛?快来看看吧!有表白利器哦
- Codeforces Round #FF
- python文献检索工具与技巧答案_短文本分析----基于python的TF-IDF特征词标签自动化提取...
- mysql大于等于怎么写_MySQL 对于千万级的大表要怎么优化?我写了6000字的深度解读...
- 优美诗词(持续更新)
- U盘文件目录损坏且无法读取
- java读取pdf文档
- 搜索引擎原理第三阶段之排名
- e会学计算机课后作业答案,大学语文网课答案e会学
- 计算机一级vlookup函数的使用方法,电子档Excel中vlookup函数的使用方法(图解详细说明)...
- Matlab使用regress函数进行回归分析
热门文章
- 动态鼠标指针_推荐8款电脑鼠标指针,让你电脑不再千篇一律
- magento php mysql,安装lnmp nginx php mysql环境 -magento
- 读取word对应页码_毕业论文怎样自动生成目录及从任意页开始排页码
- 卸载一直在创建还原点_Win10电脑开机一直转圈无法进入系统的解决方法
- Python中的map和reduce函数简介
- Python命令行运行文件的实例方法
- Python拼接字符串的7种方法总结
- python3中reduce函数的使用
- note同步不及时 one_高速路失灵/A柱断裂…理想ONE的自动驾驶还能信吗?
- 腾讯微信是通过美国服务器传的吗,原来微信和QQ的文件是可以相互传输的!现在才知道,真是太可惜了...