Python 本身隻是一種程式設計語言規範,可以使用其它程式設計語言實作它或擴充它;譬如:采有 Python C Java .Net 等重實作 Python,而采用 Python C/C++ C# Java .Net 等擴充 Python 實作。
但不管采用哪種程式設計語言實作 Python,都會基本遵守 Python 語言規範并帶有常用 Python 内置函數及标準庫子產品。
替代實作
由官方維護的 CPython 是基于 C 程式設計語言實作的 Python,解釋器采用 C 程式設計語言實作,也是最流行、相容性最強的 Python 實作。最新版本支援 Python 3.9.7,Python 2.7.18 已于 2020 年停止維護。
由 Python 程式設計語言實作的 Python 稱為 PyPy,解釋器采用 Python 程式設計語言實作;具有無堆棧支援和即時編譯器,官方稱比 CPython 平均快 4.2 倍。最新版本支援 Python 3.7,穩定版本支援 Python 2.7.18。
由 .Net 程式設計語言實作的 Python 稱為 IronPython,解釋器采用 .Net 程式設計語言實作;IronPython 會生成 IL 中間語言,并将 Python 代碼編譯成 .NET 彙編。最新版本支援 Python 3.4,穩定版本支援 Python 2.7.18。
MicroPython 也是以 C 程式設計語言實作的 Python,主要用于物聯網 MCU (微控制單元,又稱單片機);但對 Python 做了大量簡化,最新版本支援 Python 3.4。
由 Java 程式設計語言實作的 Python 稱為 Jython,解釋器采用 Java 程式設計語言實作。Jython 穩定版支援 Python 2.7.18。
Python for .NET 是基于 CPython 實作的另一實作,但它可管理 .NET 應用程式并使 .NET 庫可用。

Cython 0.29.6 中文文檔編制
采用 Cython 擴充子產品
這幾年很流行,因為其采用類似 Python 的文法,按近似 C 的運作效率擴充 CPython 實作。
Cython 可以将現成 Python 程式設計語言編寫的子產品,轉換成 C 中間代碼,最後編譯生成 *.PYD 子產品,效率能提升 20%-50%。
Cython 常用于将類似 Python 文法編寫的 *.PYX 擴充子產品,轉換成 C 中間代碼,最後編譯生成 *.PYD 子產品,效率常能提升幾倍以上 (運作效率接近于 C 語言)。
采用 Python 擴充子產品
采用 Python 程式設計語言擴充 Python 的最出名開源工程是 PyPy。
當然,為改善 Python 本身的局限性,擴充其相容性,有時還會采用 C/C++、C#、Java、.Net 等程式設計語言混合程式設計。
大家平時使用的大部分 CPython 擴充子產品,也主要采用這種方式實作,主要因為其相對簡單、成本低、效率高、可跨平台,還有相容性強、現成子產品多。
采用 C/C++ 擴充子產品
即采用 C/C++ 程式設計語言擴充 Python,主要用于 CPython 實作;因為 CPython 實作底層就是采用 C 程式設計語言實作的。
但需要符合 CPython C/C++ API 規範 要求,且需編譯生成 *.PYD 子產品文檔。
掃一掃關注 德雲社群 微信公衆号