有些强类型的编程语言会提供多种整数类型,每种类型的长度都不同,能容纳的整数的大小也不同,开发者要根据实际数字的大小选用不同的类型。例如C语言提供了 short、int、long、long long 四种类型的整数,它们的长度依次递增,初学者在选择整数类型时往往比较迷惑,有时候还会导致数值溢出。
而 Python 则不同,它的整数不分类型,或者说它只有一种类型的整数。Python 整数的取值范围是无限的,不管多大或者多小的数字,Python 都能轻松处理。
#python##编程##知识#
而 Python 则不同,它的整数不分类型,或者说它只有一种类型的整数。Python 整数的取值范围是无限的,不管多大或者多小的数字,Python 都能轻松处理。
#python##编程##知识#
譬如说,“去吃屎”。则任何人都不会去吃的。
而如果你说,“大家比赛去吃屎,勇夺第一名”。则80%的人会被套进去。他们只会觉得抢第一是好的,而不去想后面的必要性。这个例子解释了很多读研考博的蠢材的悲惨命运。
但是,更复杂的说法,是“有助于你在吃屎大赛中勇夺第一名的50个pytho函数库”
看到这个标题,知乎男基本都被绕进去了。没一个爬得出来。这才叫一个个吃得欢。
所谓骗术,就是圈套之外还有圈套。坑外有坑,这样才能坑得你醒不过来。
---sk论坛
而如果你说,“大家比赛去吃屎,勇夺第一名”。则80%的人会被套进去。他们只会觉得抢第一是好的,而不去想后面的必要性。这个例子解释了很多读研考博的蠢材的悲惨命运。
但是,更复杂的说法,是“有助于你在吃屎大赛中勇夺第一名的50个pytho函数库”
看到这个标题,知乎男基本都被绕进去了。没一个爬得出来。这才叫一个个吃得欢。
所谓骗术,就是圈套之外还有圈套。坑外有坑,这样才能坑得你醒不过来。
---sk论坛
Cython 模块扩展 - 编程语言 替代实现 应用领域 汇总一览
Python 本身只是一种编程语言规范,可以使用其它编程语言实现它或扩展它;譬如:采有 Python C Java .Net 等重实现 Python,而采用 Python C/C++ C# Java .Net 等扩展 Python 实现。
但不管采用哪种编程语言实现 Python,都会基本遵守 Python 语言规范并带有常用 Python 内置函数及标准库模块。
替代实现
由官方维护的 CPython 是基于 C 编程语言实现的 Python,解释器采用 C 编程语言实现,也是最流行、兼容性最强的 Python 实现。最新版本支持 Python 3.9.7,Python 2.7.18 已于 2020 年停止维护。
由 Python 编程语言实现的 Python 称为 PyPy,解释器采用 Python 编程语言实现;具有无堆栈支持和及时编译器,官方称比 CPython 平均快 4.2 倍。最新版本支持 Python 3.7,稳定版本支持 Python 2.7.18。
由 .Net 编程语言实现的 Python 称为 IronPython,解释器采用 .Net 编程语言实现;IronPython 会生成 IL 中间语言,并将 Python 代码编译成 .NET 汇编。最新版本支持 Python 3.4,稳定版本支持 Python 2.7.18。
MicroPython 也是以 C 编程语言实现的 Python,主要用于物联网 MCU (微控制单元,又称单片机);但对 Python 做了大量简化,最新版本支持 Python 3.4。
由 Java 编程语言实现的 Python 称为 Jython,解释器采用 Java 编程语言实现。Jython 稳定版支持 Python 2.7.18。
Python for .NET 是基于 CPython 实现的另一实现,但它可管理 .NET 应用程序并使 .NET 库可用。
采用 Cython 扩展模块
这几年很流行,因为其采用类似 Python 的语法,按近似 C 的运行效率扩展 CPython 实现。
Cython 可以将现成 Python 编程语言编写的模块,转换成 C 中间代码,最后编译生成 *.PYD 模块,效率能提升 20%-50%。
Cython 常用于将类似 Python 语法编写的 *.PYX 扩展模块,转换成 C 中间代码,最后编译生成 *.PYD 模块,效率常能提升几倍以上 (运行效率接近于 C 语言)。
采用 Python 扩展模块
采用 Python 编程语言扩展 Python 的最出名开源工程是 PyPy。
当然,为改善 Python 本身的局限性,扩展其兼容性,有时还会采用 C/C++、C#、Java、.Net 等编程语言混合编程。
大家平时使用的大部分 CPython 扩展模块,也主要采用这种方式实现,主要因为其相对简单、成本低、效率高、可跨平台,还有兼容性强、现成模块多。
采用 C/C++ 扩展模块
即采用 C/C++ 编程语言扩展 Python,主要用于 CPython 实现;因为 CPython 实现底层就是采用 C 编程语言实现的。
但需要符合 CPython C/C++ API 规范 要求,且需编译生成 *.PYD 模块文档。
Python 本身只是一种编程语言规范,可以使用其它编程语言实现它或扩展它;譬如:采有 Python C Java .Net 等重实现 Python,而采用 Python C/C++ C# Java .Net 等扩展 Python 实现。
但不管采用哪种编程语言实现 Python,都会基本遵守 Python 语言规范并带有常用 Python 内置函数及标准库模块。
替代实现
由官方维护的 CPython 是基于 C 编程语言实现的 Python,解释器采用 C 编程语言实现,也是最流行、兼容性最强的 Python 实现。最新版本支持 Python 3.9.7,Python 2.7.18 已于 2020 年停止维护。
由 Python 编程语言实现的 Python 称为 PyPy,解释器采用 Python 编程语言实现;具有无堆栈支持和及时编译器,官方称比 CPython 平均快 4.2 倍。最新版本支持 Python 3.7,稳定版本支持 Python 2.7.18。
由 .Net 编程语言实现的 Python 称为 IronPython,解释器采用 .Net 编程语言实现;IronPython 会生成 IL 中间语言,并将 Python 代码编译成 .NET 汇编。最新版本支持 Python 3.4,稳定版本支持 Python 2.7.18。
MicroPython 也是以 C 编程语言实现的 Python,主要用于物联网 MCU (微控制单元,又称单片机);但对 Python 做了大量简化,最新版本支持 Python 3.4。
由 Java 编程语言实现的 Python 称为 Jython,解释器采用 Java 编程语言实现。Jython 稳定版支持 Python 2.7.18。
Python for .NET 是基于 CPython 实现的另一实现,但它可管理 .NET 应用程序并使 .NET 库可用。
采用 Cython 扩展模块
这几年很流行,因为其采用类似 Python 的语法,按近似 C 的运行效率扩展 CPython 实现。
Cython 可以将现成 Python 编程语言编写的模块,转换成 C 中间代码,最后编译生成 *.PYD 模块,效率能提升 20%-50%。
Cython 常用于将类似 Python 语法编写的 *.PYX 扩展模块,转换成 C 中间代码,最后编译生成 *.PYD 模块,效率常能提升几倍以上 (运行效率接近于 C 语言)。
采用 Python 扩展模块
采用 Python 编程语言扩展 Python 的最出名开源工程是 PyPy。
当然,为改善 Python 本身的局限性,扩展其兼容性,有时还会采用 C/C++、C#、Java、.Net 等编程语言混合编程。
大家平时使用的大部分 CPython 扩展模块,也主要采用这种方式实现,主要因为其相对简单、成本低、效率高、可跨平台,还有兼容性强、现成模块多。
采用 C/C++ 扩展模块
即采用 C/C++ 编程语言扩展 Python,主要用于 CPython 实现;因为 CPython 实现底层就是采用 C 编程语言实现的。
但需要符合 CPython C/C++ API 规范 要求,且需编译生成 *.PYD 模块文档。
✋热门推荐