当前位置: 首页 > 图灵资讯 > 行业资讯> Python为什么能扩展

Python为什么能扩展

发布时间:2025-05-01 10:31:16

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

相关推荐: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 执行代码的速度和性能。

相关文章

如何让vim支持python3

如何让vim支持python3

2025-09-12
python2.7和3.6区别有哪些

python2.7和3.6区别有哪些

2025-09-12
python3有serial库吗

python3有serial库吗

2025-09-12
python中w、r表示什么意思

python中w、r表示什么意思

2025-09-12
python中如何把list变成字符串

python中如何把list变成字符串

2025-09-12
python命名空间是什么

python命名空间是什么

2025-09-12