Python各種實現之間的區別?
大多數開發者都知道 Python,無論他們的系統中實現了哪個 Python 版本。那麼,“Python” 指的是什麼?是抽象的介面嗎?是指常用的 Python 實現 CPython(而不是 Cython)嗎?或者是指其他東西?或者是指 Jython、IronPython 或 PyPy?
雖然上述技術名稱常用且經常被提及,但其中一些技術具有完全不同的用途。
我們可以將 Python 視為一種可以用多種不同方式實現的語言規範。
在本教程中,我們將介紹以下 Python 實現:
- CPython
- IronPython
- Jython
- PyPy
CPython
CPython 是用 C 語言實現的“Python”語言。Python 是一種解釋型程式語言。因此,Python 程式設計師需要直譯器將 Python 程式碼轉換為機器程式碼。而 Cython 是一種編譯型程式語言。Cython 程式可以直接由底層計算機的 CPU 執行,無需任何直譯器。
IronPython
IronPython 是 Python 程式語言的一種開源實現,與 .NET 緊密整合。IronPython 可以使用 .NET 和 Python 庫,其他 .NET 語言也可以同樣輕鬆地使用 Python 程式碼。
IronPython 實現使用 .Net 虛擬機器,即公共語言執行時 (CLR)。它是用 C# 編寫的。IronPython 使用 .NET 框架,透過它,.NET 語言可以輕鬆高效地使用 Python 程式碼。
現有的 .NET 開發人員也可以將 IronPython 作為一種快速且表達力強的指令碼語言,用於嵌入、測試或從頭編寫新的應用程式。
Jython
Jython,顧名思義,是在 Java 平臺上執行的 Python 實現。Jython 專案提供了在 Java 中實現的 Python,為 Python 提供了在 JVM 上執行並訪問用 Java 編寫的類的優勢。與 CPython 相比,Jython 速度較慢。Jython 實現可免費用於商業和非商業用途。
Jython 提供了一個互動式直譯器,可用於與 Java 包或正在執行的 Java 應用程式進行互動。
PyPy
PyPy 是用 Python 編寫的 Python 程式語言的實現。直譯器是用 RPython 編寫的(RPython 本身是 Python 的一個子集)。平均而言,PyPy 比 CPython 快 4.5 倍。
PyPy 與現有的 Python 程式碼高度相容。它支援 cffi、cppyy,並且可以執行流行的 Python 庫,如 Twisted 和 Django。它還可以透過 c 擴充套件相容性層執行 NumPy、Scikit-learn 等。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP