Python, CPython, Pypy, Jython的简单介绍

简单地说,Python是一门编程语言,任何一种编程语言都需要用另一种语言来实现它,比如C语言就是用机器语言来实现的。所以,Python根据实现方式不同分为了CPyhton、Pypy、Jython等。

CPython

CPython是用C语言实现Pyhon,是目前应用最广泛的解释器。Python最新的语言特性都是在这个上面先实现,Linux,OS X等自带的也是这个版本,包括Anaconda里面用的也是CPython。CPython是官方版本加上对于C/Python API的全面支持,基本包含了所有第三方库支持,例如Numpy,Scipy等。但是CPython有几个缺陷,一是全局锁使Python在多线程效能上表现不佳,二是CPython无法支持JIT(即时编译),导致其执行速度不及Java和Javascipt等语言。于是出现了Pypy。

Pypy

Pypy是用Python自身实现的解释器。针对CPython的缺点进行了各方面的改良,性能得到很大的提升。最重要的一点就是Pypy集成了JIT。但是,Pypy无法支持官方的C/Python API,导致无法使用例如Numpy,Scipy等重要的第三方库。这也是现在Pypy没有被广泛使用的原因吧。

Jython

Jython是将Python code在JVM上面跑和调用java code的解释器。

以上只是简单介绍了Python,CPython,Pypy,Jython的关系,算是抛砖引玉了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨世宇的专栏

Now 直播发现页短视频瀑布流优化

发现页是Now直播短视频的主要曝光平台(如下图),内容以运营人工筛选为主,瀑布流式展示。

6760
来自专栏章鱼的慢慢技术路

解救小哈——DFS算法举例

2168
来自专栏C语言及其他语言

【每日一题】问题 1247: 筛排处理

关注我们 题目描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N<=100),对于其中重...

2738
来自专栏算法channel

机器学习工具:Python 和 Numpy入门

0 写在前头 我们一般都是从C语言开始学起的,后来发现C语言不能满足我们快速开发的需求,因为它的API使用起来不很方便,还有就是有些功能亟待扩展,这时候我们很多...

35713
来自专栏数据结构与算法

HDU4576 Robot(概率)

抄袭自https://www.cnblogs.com/Paul-Guderian/p/7624039.html

641
来自专栏C语言及其他语言

[每日一题]矩阵转置(1242)

题目描述 输入N*N的矩阵,输出它的转置矩阵。 输入 第一行为整数N。 接着是一个N*N的矩阵。 输出 转置矩阵 样例输入 2 1 2 1 2 样例输出 1 ...

3159
来自专栏数据魔术师

干货|十分钟教你用动态规划算法解Travelling Salesman Problem(TSP)问题,附代码……

乍一看标题,大家是不是觉得“动态规划”这四个字组合在一起有点眼熟?似乎哪会儿学过来着……但是吧,细细一琢磨,又忘了它具体是什么、怎么用、用来解决哪些问...

1.4K11
来自专栏数据小魔方

think-cell chart系列5——堆积不等宽柱形图

今天要分享的是think-cell chart系列的第五篇——堆积不等宽柱形图。 其实要问我为什么对think-cell chart这么情有独钟,现在给出答案—...

3855
来自专栏我和未来有约会

[Silverlight动画]转向行为 - 介绍

转向行为(steering behaviors)这一术语,指的是一系列使对象行动起来像似长有智商的算法。这些行为都归于人工智能或人工生命一类,是让对象呈现出拥有...

1705
来自专栏华章科技

教程 | 如何优雅而高效地使用Matplotlib实现数据可视化

Matplotlib 能创建非常多的可视化图表,它也有一个丰富的 Python 工具生态环境,很多更高级的可视化工具使用 Matplotlib 作为基础库。因此...

562

扫码关注云+社区