您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Python的.py與Cython的.pxd.pyx.pyd 文件格式有什么區(qū)別”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
.py 文件
Python 最常用格式就是 .py (另一較常用格式為 .pyw),由 python.exe 解釋,可在控制臺(tái)下運(yùn)行。
當(dāng)然,也可用文本編輯器或其它專用 Python IDE (集成開發(fā)環(huán)境) 工具進(jìn)行修改。
常見情形是,用 Python 快速生成程序原型 (有時(shí)甚至是程序最終界面),然后對(duì)其中有特別要求的部分,用更合適的語言改寫;譬如:3D 游戲中的圖形渲染模塊,性能要求特別高,就可用 C/C++ 重寫,而后封裝為 Python 可調(diào)用的擴(kuò)展類庫。需要注意的是,在您使用擴(kuò)展類庫時(shí)可能需要考慮平臺(tái)問題,某些擴(kuò)展類庫可能不提供跨平臺(tái)實(shí)現(xiàn)。
此外,還可采用 Cython 為 Python 編寫 C 擴(kuò)展。Cython 是編寫、包裹外部 C/C++ 庫的膠水代碼,將 CPython 嵌入現(xiàn)有應(yīng)用程序、加速 Python 代碼執(zhí)行的理想 C 模塊語言。
.pxd文件
.pxd 文件是由 Cython 編程語言 "編寫" 而成的 Python 擴(kuò)展模塊頭文件。
.pxd 文件類似于 C 語言的 .h 頭文件,.pxd 文件中有 Cython 模塊要包含的 Cython 聲明 (或代碼段)。
.pxd 文件可共享外部 C 語言聲明,也能包含 C 編譯器內(nèi)聯(lián)函數(shù)。.pxd 文件還可為 .pyx 文件模塊提供 Cython 接口,以便其它 Cython 模塊可使用比 Python 更高效的協(xié)議與之進(jìn)行通信。
可用 cimport 關(guān)鍵字將 .pxd 文件導(dǎo)入 .pyx 模塊文件中。
.pyx文件
.pyx 文件是由 Cython 編程語言 "編寫" 而成的 Python 擴(kuò)展模塊源代碼文件。
.pyx 文件類似于 C 語言的 .c 源代碼文件,.pyx 文件中有 Cython 模塊的源代碼。
不像 Python 語言可直接解釋使用的 .py 文件,.pyx 文件必須先被編譯成 .c 文件,再編譯成 .pyd (Windows 平臺(tái)) 或 .so (Linux 平臺(tái)) 文件,才可作為模塊 import 導(dǎo)入使用。
.pyd文件
.pyd 文件是非 Python,由其它編程語言 "編寫-編譯" 生成的 Python 擴(kuò)展模塊。
Python 要導(dǎo)入 .pyd 文件,實(shí)際上是在 .pyd 文件中封裝了一個(gè) module。在 python 中使用時(shí),把它當(dāng)成 module 來用就可以了,即:"import 路徑名.modulename" 即可,路徑名為 .pyd 文件所在的路徑。
基于 Qt/C++ 的 PyQt、PySide GUI (圖形用戶界面) 開發(fā)框架綁定,會(huì)為每個(gè) Qt/C++ 庫 .dll 文件生成一個(gè)中間 .pyd 文件。PyWin32 項(xiàng)目分發(fā)包中,也存在很多 MicroSoft Windows OS 相應(yīng) .dll 文件的中間 .pyd 文件。
Cython 可將個(gè)人基于 Python 語言編寫的 Python 模塊編譯成具有 C 語言特性的 .pyd 文件。
“Python的.py與Cython的.pxd.pyx.pyd 文件格式有什么區(qū)別”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。