python编译器大全_Python编译器
编译器,又叫解释器。简单讲,就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器(Linker) → 可执行程序 (executables)。
CPython
当我们从Python官方网站下载并安装好Python 后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。
CPython是用C语言实现Pyhon,是目前应用最广泛的解释器。最新的语言特性都是在这个上面先实现,基本包含了所有第三方库支持,但是CPython有几个缺陷,一是全局锁使Python在多线程效能上表现不佳,二是CPython无法支持JIT(即时编译),导致其执行速度不及Java和Javascipt等语言。
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的不同点。
PyPy针对CPython的缺点进行了各方面的改良,性能得到很大的提升。最重要的一点就是Pypy集成了JIT。但是,Pypy无法支持官方的C/Python API,导致无法使用例如Numpy,Scipy等重要的第三方库。而PyPy与CPython的不同在于,别的一些python实现如CPython是使用解释执行的方式,这样的实现方式在性能上是很凄惨的。而PyPy使用了JIT(即时编译)技术,在性能上得到了提升。
作者:Mangogo哥
链接:https://www.zhihu.com/question/20005950/answer/366367991
python编译器大全_Python编译器相关推荐
- python手机编译器推荐_Python编译器最新版|Python编译器手机版下载 v1.2 安卓版 - 数码资源网...
现在互联网发展迅速发展,很多人开始往it行业发展,我给你们推荐一款很好的软件,Python编译器手机版主要为Python初学者提供直接运行的功能,能够随手验证一些小程序,Python编译器app支持直 ...
- python编译器路径_python编译器安装教程以及环境变量配置
python解释器安装教程以及环境变量配置 python解释器安装教程 Python作为一门编程语言,其魅力远超C#,JАVa,C,C++,它被称为"胶水语言",更被热爱它的程序猿 ...
- python符号大全_python吊打Excel?屁!那是你不会用!
相信大家总能在朋友圈刷到下图这种教育广告,python很强,但总是这么贬低Excel就没必要了吧. 直到我看见了下面的回复,笑喷! 实话实说,从数据分析的角度来看,excel的可视化要差一些,数据采集 ...
- python关键词大全_Python 批量获取Baidu关键词的排名并入库
1.[代码][Python]代码 #-*- coding: UTF-8 -*- #Python UTF-8 抓取百度关键词V1.0 #key.txt是抓取文件配置 #author PHPer.yang ...
- python字符串大全_Python 字符串操作方法大全
1.去空格及特殊符号 代码如下:s.strip().lstrip().rstrip(',') 2.复制字符串 代码如下:#strcpy(sStr1,sStr2) sStr1 = 'strcpy' sS ...
- python内置模块大全_python知识汇总(异常、内置模块和打包)
python对异常的处理方式? python引入异常类处理异常情况. 异常的处理流程:发生异常->生成异常对象->提交给解释器->解释器捕获异常->调用异常已处理代码. 异常代 ...
- python画图大全_python画图教程
python画图教程内容摘要 python画图教程这个方法是通过如何设置权限,郑州室内设计教程,1真品劳力士的把头.①注册微信:纹身师教程,1注册域名即是网址2申请网站空间3把要放到网上的资料做成网页 ...
- python作业大全_Python作业汇总 - osc_p8sbsl3n的个人空间 - OSCHINA - 中文开源技术交流社区...
1. info = 'abc' info[2] = 'd' 结果是什么,为什么会报错呢? info[2]已赋值,不能再次赋值."str"对象不支持项目分配 2. 如果要把上面的字符 ...
- python 模块大全_python第三方模块有哪些
今天给大家整理了python常用的第三方库,一起来看一下吧. 1.Requests.Kenneth Reitz写的最富盛名的http库.每个Python程序员都应该有它. 2.Scrapy.如果你从事 ...
- python 知识大全_Python基础知识汇总
Python a.py 直接调用Python解释器执行文件 chomd +x a.py ./a.py #修改a.py文件的属性,为可执行,在用 ./ 执行a.py 文件 2.简述 ...
最新文章
- 参观 Google 总部是一种什么体验?
- 一个hadoop hdfs put 文件失败的小情况
- cmake error C2220: 以下警告被视为错误
- 【计算理论】图灵机 ( 非确定性图灵机 -> 确定性图灵机 | 模仿过程示例 | 算法的数学模型 )
- Java中的synchronized与volatile关键字
- Java关于 class类的基础方法
- 未来客:人人都可以构建软件或系统
- redis的zset的底层实现_Redis中hash、set、zset有多牛?从底层告诉你数据结构原理...
- 12.性能之巅 洞悉系统、企业与云计算 --- 基准测试
- IBM DB2关键特性解析:DB2分区特性
- 免费SSL证书申请和部署
- java将图片转化为base64码
- Ruby + Passenger 5 分钟 入门
- 【设计】1359- Umi3 如何实现插件化架构
- 嵌入式_cpu微架构、互连结构与总线
- CSS -- 实现DIV层背景颜色渐变 (兼容IE 火狐 谷歌浏览器)
- 无法连接虚拟设备sata0:1,因为主机上没有相应的设备
- 上海基诺墙绘 中荷学生共同创作涂鸦 “We are伐木累”示好
- Windows开发之——Win10开机启动及启动设置
- css鼠标点击后取消光标焦点,光标设置透明