今天就跟大家聊聊有關(guān)Python能擴(kuò)展嗎,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
成都創(chuàng)新互聯(lián)自2013年創(chuàng)立以來,先為紅塔等服務(wù)建站,紅塔等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為紅塔企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
Python 具有高可擴(kuò)展性,存在許多使用 C 語(yǔ)言或 Fortran 編寫擴(kuò)展的方法。必要時(shí),Python 代碼可以直接將這些擴(kuò)展作為子例程來調(diào)用。這部分討論用于構(gòu)建擴(kuò)展的一些主要編譯器(絕對(duì)不是完整列表)。
Cython
Cython(不同于 CPython)既是指一種語(yǔ)言,也是指一種編譯器。Cython 語(yǔ)言是添加了 C 語(yǔ)言語(yǔ)法的 Python 語(yǔ)言的超集。Cython 可以在代碼段或完整函數(shù)中顯式釋放 GIL。變量和類屬性上的 C 類型聲明以及對(duì) C 函數(shù)的調(diào)用都使用 C 語(yǔ)法。其余部分代碼則使用 Python 語(yǔ)法。通過這個(gè)混合的 Cython 代碼,Cython 編譯器可生成高效的 C 代碼。任何定期優(yōu)化的 C/C++ 編譯器都可以編譯此 C 代碼,從而高度優(yōu)化擴(kuò)展的運(yùn)行時(shí)代碼,性能接近于原生的 C 代碼性能。
Numba
Numba 是一個(gè)動(dòng)態(tài)、即時(shí) (JIT) 且可感知 NumPy 的 Python 編譯器。Numba 使用 LLVM 編譯器基礎(chǔ)架構(gòu),生成優(yōu)化的機(jī)器代碼和從 Python 調(diào)用代碼的包裝器。與 Cython 不同,編碼使用常規(guī)的 Python 語(yǔ)言。Numba 可讀取來自裝飾器中所嵌入注釋的類型信息,并優(yōu)化代碼。對(duì)于使用 NumPy 數(shù)據(jù)結(jié)構(gòu)的程序,比如數(shù)組以及許多數(shù)學(xué)函數(shù),它可以實(shí)現(xiàn)與 C 或 Fortran 語(yǔ)言類似的性能。NumPy 對(duì)線性代數(shù)和矩陣函數(shù)使用硬件加速,利用 LAPACK 和 BLAS 提供額外加速,大大提升了性能,參見 IBM 博客文章C、Julia、Python、Numba 和 Cython 在 LU 因式分解方面的速度比較。
除 CPU 以外,Numba 還能夠使用 GP-GPU 后端。Anaconda, Inc. 是 Python 某個(gè)主要發(fā)行版的幕后公司,該公司還開發(fā)了 Numba 和商業(yè)版的 Numba Pro。
Fortran to Python Interface Generator
Fortran to Python Interface Generator (F2Py) 起初為一個(gè)獨(dú)立的程序包,現(xiàn)在包含在 NumPy 中。F2Py 支持 Python 調(diào)用以 Fortran 編寫的數(shù)值例程,就好像它們是另一個(gè) Python 模塊一樣。因?yàn)?Python 解釋器無法理解 Fortran 源代碼,所以 F2Py 以動(dòng)態(tài)庫(kù)文件格式將 Fortran 編譯為本機(jī)代碼,這是一種共享對(duì)象,包含具有 Python 模塊接口的函數(shù)。因此,Python 可以直接將這些函數(shù)作為子例程來調(diào)用,以原生 Fortran 代碼的速度和性能來執(zhí)行。
看完上述內(nèi)容,你們對(duì)Python能擴(kuò)展嗎有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
分享標(biāo)題:Python能擴(kuò)展嗎
URL網(wǎng)址:http://chinadenli.net/article20/gojcjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、營(yíng)銷型網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、微信小程序、手機(jī)網(wǎng)站建設(shè)、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)