创新互联Python教程:Python为什么能扩展

python 具有高可扩展性,存在许多使用 C 语言或 Fortran 编写扩展的方法。必要时,Python 代码可以直接将这些扩展作为子例程来调用。这部分讨论用于构建扩展的一些主要编译器(绝对不是完整列表)。

10多年的鼓楼网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销的优势是能够根据用户设备显示端的尺寸不同,自动调整鼓楼建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“鼓楼网站设计”,“鼓楼网站推广”以来,每个客户项目都认真落实执行。

相关推荐:《Python基础教程》

Cython

Cython(不同于 CPython)既是指一种语言,也是指一种编译器。Cython 语言是添加了 C 语言语法的 Python 语言的超集。Cython 可以在代码段或完整函数中显式释放 GIL。变量和类属性上的 C 类型声明以及对 C 函数的调用都使用 C 语法。其余部分代码则使用 Python 语法。通过这个混合的 Cython 代码,Cython 编译器可生成高效的 C 代码。任何定期优化的 C/C++ 编译器都可以编译此 C 代码,从而高度优化扩展的运行时代码,性能接近于原生的 C 代码性能。

Numba

Numba 是一个动态、即时 (JIT) 且可感知 NumPy 的 Python 编译器。Numba 使用 LLVM 编译器基础架构,生成优化的机器代码和从 Python 调用代码的包装器。与 Cython 不同,编码使用常规的 Python 语言。Numba 可读取来自装饰器中所嵌入注释的类型信息,并优化代码。对于使用 NumPy 数据结构的程序,比如数组以及许多数学函数,它可以实现与 C 或 Fortran 语言类似的性能。NumPy 对线性代数和矩阵函数使用硬件加速,利用 LAPACK 和 BLAS 提供额外加速,大大提升了性能,参见 IBM 博客文章C、Julia、Python、Numba 和 Cython 在 LU 因式分解方面的速度比较。

除 CPU 以外,Numba 还能够使用 GP-GPU 后端。Anaconda, Inc. 是 Python 某个主要发行版的幕后公司,该公司还开发了 Numba 和商业版的 Numba Pro。

Fortran to Python Interface Generator

Fortran to Python Interface Generator (F2Py) 起初为一个独立的程序包,现在包含在 NumPy 中。F2Py 支持 Python 调用以 Fortran 编写的数值例程,就好像它们是另一个 Python 模块一样。因为 Python 解释器无法理解 Fortran 源代码,所以 F2Py 以动态库文件格式将 Fortran 编译为本机代码,这是一种共享对象,包含具有 Python 模块接口的函数。因此,Python 可以直接将这些函数作为子例程来调用,以原生 Fortran 代码的速度和性能来执行。

新闻标题:创新互联Python教程:Python为什么能扩展
文章位置:http://www.gawzjz.com/qtweb2/news49/3249.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联