Python常用编译器原理及特点解析


Posted in Python onMarch 23, 2020

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编写Linux系统守护进程实例
Feb 03 Python
Python读取图片属性信息的实现方法
Sep 11 Python
如何使用VSCode愉快的写Python于调试配置步骤
Apr 06 Python
Python对多属性的重复数据去重实例
Apr 18 Python
Python常见字典内建函数用法示例
May 14 Python
python实现图片识别汽车功能
Nov 30 Python
python中dict使用方法详解
Jul 17 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
Aug 30 Python
python函数修饰符@的使用方法解析
Sep 02 Python
Python openpyxl读取单元格字体颜色过程解析
Sep 03 Python
python将下载到本地m3u8视频合成MP4的代码详解
Nov 24 Python
Python 数据可视化之Seaborn详解
Nov 02 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
Mar 23 #Python
Python面向对象程序设计之继承、多态原理与用法详解
Mar 23 #Python
python实现图像拼接功能
Mar 23 #Python
Python猴子补丁Monkey Patch用法实例解析
Mar 23 #Python
Python面向对象程序设计之静态方法、类方法、属性方法原理与用法分析
Mar 23 #Python
Python3 pickle对象串行化代码实例解析
Mar 23 #Python
Python面向对象程序设计之类和对象、实例变量、类变量用法分析
Mar 23 #Python
You might like
php使用gzip压缩传输js和css文件的方法
2015/07/29 PHP
解读PHP的Yii框架中请求与响应的处理流程
2016/03/17 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
jquery序列化form表单使用ajax提交后处理返回的json数据
2014/03/03 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
2014/08/15 Javascript
jQuery背景插件backstretch使用指南
2015/04/21 Javascript
JavaScript实现的多个图片广告交替显示效果代码
2015/09/04 Javascript
Angular浏览器插件Batarang介绍及使用
2018/02/07 Javascript
小程序自定义单页面、全局导航栏的实现代码
2019/03/15 Javascript
微信小程序如何修改radio和checkbox的默认样式和图标
2019/07/24 Javascript
python中合并两个文本文件并按照姓名首字母排序的例子
2014/04/25 Python
python利用matplotlib库绘制饼图的方法示例
2016/12/18 Python
python 通过logging写入日志到文件和控制台的实例
2018/04/28 Python
numpy.linspace 生成等差数组的方法
2018/07/02 Python
75条笑死人的知乎神回复,用60行代码就爬完了
2019/05/06 Python
numpy下的flatten()函数用法详解
2019/05/27 Python
Jupyter加载文件的实现方法
2020/04/14 Python
PyInstaller运行原理及常用操作详解
2020/06/13 Python
在Tensorflow中实现leakyRelu操作详解(高效)
2020/06/30 Python
浅析Python迭代器的高级用法
2020/07/16 Python
详解Html5 Canvas画线有毛边解决方法
2018/03/01 HTML / CSS
印度网上药店:1mg
2017/10/13 全球购物
Zavvi荷兰:英国大型音像制品和图书游戏零售商
2018/03/22 全球购物
Subside Sports德国:足球球衣和球迷商品
2019/06/08 全球购物
Ibatis的核心配置文件都有什么
2014/09/08 面试题
Internet体系结构
2014/12/21 面试题
计算机相关的自我评价
2014/01/15 职场文书
经济管理毕业生求职信
2014/03/15 职场文书
党的生日演讲稿
2014/09/10 职场文书
个人融资协议书范本两则
2014/10/15 职场文书
保洁员岗位职责
2015/02/04 职场文书
项目经理助理岗位职责
2015/04/13 职场文书
健康教育主题班会
2015/08/14 职场文书
小学四年级作文之写景
2019/08/23 职场文书
话题作文之呼唤
2019/12/18 职场文书
导游词之介休绵山
2019/12/31 职场文书