⑴ 詳解python文件: .py、.ipynb、.pyi、.pyc、.pyd !
今天同事給我扔了一個.pyd文件,說讓我跑個數據。然後我就傻了。。
不知道多少粉絲小夥伴會run .pyd代碼文件?如果你也懵懵的,請繼續往下讀吧。。
今天科普下各類Python代碼文件的後綴,給各位Python開發「掃掃盲」。
.py
最常見的Python代碼文件後綴名,官方稱Python源代碼文件。
不用過多解釋了~
.ipynb
這個還是比較常見的,.ipynb是Jupyter Notebook文件的擴展名,它代表"IPython Notebook"。
學過數據分析,機器學習,深度學習的同學一定不陌生!
.pyi
.pyi文件是Python中的類型提示文件,用於提供代碼的靜態類型信息。
一般用於幫助開發人員進行類型檢查和靜態分析。
示例代碼:
.pyi文件的命名約定通常與相應的.py文件相同,以便它們可以被自動關聯在一起。
.pyc
.pyc是Python位元組碼文件的擴展名,用於存儲已編譯的Python源代碼的中間表示形式,因為是二進制文件所以我們無法正常閱讀裡面的代碼。
.pyc文件包含了已編譯的位元組碼,它可以更快地被Python解釋器載入和執行,因為解釋器無需再次編譯源代碼。
.pyd
.pyd是Python擴展模塊的擴展名,用於表示使用C或C++編寫的二進制Python擴展模塊文件。
.pyd文件是編譯後的二進制文件,它包含了編譯後的擴展模塊代碼以及與Python解釋器交互所需的信息。
此外,.pyd文件通過import語句在Python中導入和使用,就像導入普通的Python模塊一樣。
由於C或C++的執行速度通常比純Python代碼快,可以使用擴展模塊來優化Python代碼的性能,尤其是對於計算密集型任務。
.pyw
.pyw是Python窗口化腳本文件的擴展名。
它表示一種特殊類型的Python腳本文件,用於創建沒有命令行界面(即控制台窗口)的窗口化應用程序。
一般情況下,運行Python腳本會打開一個命令行窗口,其中顯示腳本輸出和接受用戶輸入。但是,對於某些應用程序,如圖形用戶界面(GUI)應用程序,不需要命令行界面,而是希望在窗口中顯示交互界面。這時就可以使用.pyw文件。
# .pyx
.pyx是Cython源代碼文件的擴展名。
Cython是一種編譯型的靜態類型擴展語言,它允許在Python代碼中使用C語言的語法和特性,以提高性能並與C語言庫進行交互。
我對比了下Cython與普通python的運行速度:
fb.pyx(需使用cythonize命令進行編譯)
run.py
得出結果:
在這種計算密集任務情況下,Cython比普通Python效率快了近一倍。