新聞中心
python 具有高可擴展性,存在許多使用 C 語言或 Fortran 編寫擴展的方法。必要時,Python 代碼可以直接將這些擴展作為子例程來調用。這部分討論用于構建擴展的一些主要編譯器(絕對不是完整列表)。

10多年的鼓樓網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都全網(wǎng)營銷的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調整鼓樓建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“鼓樓網(wǎng)站設計”,“鼓樓網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
相關推薦:《Python基礎教程》
Cython
Cython(不同于 CPython)既是指一種語言,也是指一種編譯器。Cython 語言是添加了 C 語言語法的 Python 語言的超集。Cython 可以在代碼段或完整函數(shù)中顯式釋放 GIL。變量和類屬性上的 C 類型聲明以及對 C 函數(shù)的調用都使用 C 語法。其余部分代碼則使用 Python 語法。通過這個混合的 Cython 代碼,Cython 編譯器可生成高效的 C 代碼。任何定期優(yōu)化的 C/C++ 編譯器都可以編譯此 C 代碼,從而高度優(yōu)化擴展的運行時代碼,性能接近于原生的 C 代碼性能。
Numba
Numba 是一個動態(tài)、即時 (JIT) 且可感知 NumPy 的 Python 編譯器。Numba 使用 LLVM 編譯器基礎架構,生成優(yōu)化的機器代碼和從 Python 調用代碼的包裝器。與 Cython 不同,編碼使用常規(guī)的 Python 語言。Numba 可讀取來自裝飾器中所嵌入注釋的類型信息,并優(yōu)化代碼。對于使用 NumPy 數(shù)據(jù)結構的程序,比如數(shù)組以及許多數(shù)學函數(shù),它可以實現(xiàn)與 C 或 Fortran 語言類似的性能。NumPy 對線性代數(shù)和矩陣函數(shù)使用硬件加速,利用 LAPACK 和 BLAS 提供額外加速,大大提升了性能,參見 IBM 博客文章C、Julia、Python、Numba 和 Cython 在 LU 因式分解方面的速度比較。
除 CPU 以外,Numba 還能夠使用 GP-GPU 后端。Anaconda, Inc. 是 Python 某個主要發(fā)行版的幕后公司,該公司還開發(fā)了 Numba 和商業(yè)版的 Numba Pro。
Fortran to Python Interface Generator
Fortran to Python Interface Generator (F2Py) 起初為一個獨立的程序包,現(xiàn)在包含在 NumPy 中。F2Py 支持 Python 調用以 Fortran 編寫的數(shù)值例程,就好像它們是另一個 Python 模塊一樣。因為 Python 解釋器無法理解 Fortran 源代碼,所以 F2Py 以動態(tài)庫文件格式將 Fortran 編譯為本機代碼,這是一種共享對象,包含具有 Python 模塊接口的函數(shù)。因此,Python 可以直接將這些函數(shù)作為子例程來調用,以原生 Fortran 代碼的速度和性能來執(zhí)行。
本文標題:創(chuàng)新互聯(lián)Python教程:Python為什么能擴展
轉載源于:http://m.fisionsoft.com.cn/article/dpdgcjh.html


咨詢
建站咨詢
