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中操作时间之mktime()方法的使用教程
May 22 Python
python使用arcpy.mapping模块批量出图
Mar 06 Python
python爬虫入门教程--快速理解HTTP协议(一)
May 25 Python
Python 3.6 读取并操作文件内容的实例
Apr 23 Python
python利用requests库模拟post请求时json的使用教程
Dec 07 Python
pyqt5移动鼠标显示坐标的方法
Jun 21 Python
Pytorch Tensor的索引与切片例子
Aug 18 Python
Python 合并多个TXT文件并统计词频的实现
Aug 23 Python
python logging通过json文件配置的步骤
Apr 27 Python
python和js交互调用的方法
Jun 23 Python
Python模块常用四种安装方式
Oct 20 Python
详细介绍python类及类的用法
May 31 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
mysql下创建字段并设置主键的php代码
2010/05/16 PHP
php foreach 参数强制类型转换的问题
2010/12/10 PHP
php笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
PHP调用Linux命令权限不足问题解决方法
2015/02/07 PHP
php实现字符串翻转的方法
2015/03/27 PHP
PHP判断字符串长度的两种方法很实用
2015/09/22 PHP
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
2018/09/26 PHP
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
js word表格动态添加代码
2010/06/07 Javascript
Javascript类库的顶层对象名用户体验分析
2010/10/24 Javascript
Jquery 绑定时间实现代码
2011/05/03 Javascript
javascript之典型高阶函数应用介绍
2013/01/10 Javascript
浅谈js基本数据类型和typeof
2016/08/09 Javascript
微信小程序-getUserInfo回调的实例详解
2017/10/27 Javascript
vue代码分割的实现(codesplit)
2018/11/13 Javascript
Vue组件模板的几种书写形式(3种)
2020/02/19 Javascript
Vue用mixin合并重复代码的实现
2020/11/27 Vue.js
python实现socket端口重定向示例
2014/02/10 Python
python操作摄像头截图实现远程监控的例子
2014/03/25 Python
Python黑魔法@property装饰器的使用技巧解析
2016/06/16 Python
Python彩色化Linux的命令行终端界面的代码实例分享
2016/07/02 Python
python 判断字符串中是否含有汉字或非汉字的实例
2019/07/15 Python
django将数组传递给前台模板的方法
2019/08/06 Python
python 中Arduino串口传输数据到电脑并保存至excel表格
2019/10/14 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
2020/05/25 Python
一些高难度的SQL面试题
2016/11/29 面试题
会计毕业生求职简历的自我评价
2013/10/20 职场文书
家具厂厂长岗位职责
2014/01/01 职场文书
优秀毕业生推荐信范文
2014/03/07 职场文书
聘用意向书
2014/07/29 职场文书
2014广电局实施党的群众路线教育实践活动方案思想汇报
2014/09/22 职场文书
国庆放假通知怎么写
2015/07/30 职场文书
初中思品教学反思
2016/02/20 职场文书
JavaScript中时间格式化新思路toLocaleString()
2021/11/07 Javascript
Win11怎么进入安全模式?Windows 11进入安全模式的方法
2021/11/21 数码科技
交互式可视化js库gojs使用介绍及技巧
2022/02/18 Javascript