Python日课-2.5-python语言的不同实现
文章目录
Python 日课 2021-01-14: Python语言的不同实现。
各位同学,今天来说说Python语言的种类吧。
CPython
我们平时说的Python,更多的是指(Python的C语言实现)。它的全称是CPython。
Python是一门解释型语言,它的底层是用C语言来实现的,这也是最常用一种Python实现。如果不加解释的话,CPython就是Python的代表了。
既然用C语言能实现Python,那么Java行不行呢?
Jython
当然行,所以有Jython。
Jython 是 Python 语言的 Java 实现。它将代码编译为 Java 字节代码,开发人员在 Python 模块中可以无缝使用 Java 类。
IronPython
微软当然要来凑热闹的。
微软的一群人把Python引入了微软的 .net 框架,所以有了 IronPython。
这个项目受到微软的支持,因为 IronPython 的主要开发人员都在微软工作。
PyPy
另一个非常著名的Python实现是PyPy。
PyPy 可能是最令人兴奋的 Python 实现,因为其目标就是将 Python 重写为 Python。在 PyPy 中,Python 解释器本身是用 Python 编写的。而且,PyPy 的运行速度是 CPython 的4倍。
当然 PyPy 也有缺点:许多用C语言实现的模块在 PyPy 中无法使用。
Cython
最后说一个容易和CPython混淆的实现:Cython。
Cython是让Python脚本支持C语言扩展的编译器,Cython能够将Python+C混合编码的.pyx脚本转换为C代码,主要用于优化Python脚本性能或Python调用C函数库。
当需要高性能的库时,程序员可以选择使用Cython来编写CPython可以调用的模块。
上节课我们讲过Python模块,有很多对性能要求高的数据结构,列表等内置模块,就是Cython编写的。
Cython编写的代码,在极端情况下,可以比 CPython编写的代码运行速度快上几十倍。实际上Cython的速度就是C语言的速度。
当然,不同的要选择需要不同的环境。极端的速度比较没有意义。
如何选择
对于曾老师的Python课上的同学,大家学好CPython就好啦!
刚才我们讲到了几种Python:
- CPython 最常用的 Python
- PyPy 用 Python 实现的 Python,支持 JIT
- Jython 用Java 实现的 Python
- IronPython .NET 平台下的 Python
- Cython Python 和 C/C++ 语言语法的混合体,一般用来扩展 Python ,实现更高性能的 Python 模块。
为了让 Python 更快更方便,程序员们也是操碎了心。其实 Python 语言的实现远不止上面这五个,你还能找出更多么?
问答
学习群中的 Aaron 同学的提问:
曾老师 下午好呀
我想问下 那些做数据监测的第三方服务商比如app annie/sensor tower 主要依靠的是什么技术呢?
曾老师的回答:
如果是说数据获取方式,Annie 的主要来源有三个:
- 一是与他们自有的 App/SDK 以及与他们合作的 App/SDK,这些 App 会将数据回传到 Annie
- 二是开发者自己的上报,在 Annie 后台可以填写 Itunes Connect 帐号,Annie 拿到帐号当然是可以为所欲为
- 三应该是爬虫。Annie 肯定有爬虫。
Annie 的数据主要还是通过大数据加上 AI 做预测,数据越多预测越准。根据我们的比较,当数据量没有那么大的时候,很多数据是不准确的,主要看趋势吧。
- 文章ID:2742
- 原文作者:zrong
- 原文链接:https://blog.zengrong.net/post/python-daily-type-of-python/
- 版权声明:本作品采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可,非商业转载请注明出处(原文作者,原文链接),商业转载请联系作者获得授权。