11 個(gè)優(yōu)秀的 Python 編譯器和解釋器
Python 是一門對(duì)初學(xué)者友好的編程語言,是一種多用途的、解釋性的和面向?qū)ο蟮母呒?jí)語言。
它擁有非常小的程序集,非常易于學(xué)習(xí)、閱讀和維護(hù)。其解釋器可在Windows、Linux 和 Mac OS 等多種操作系統(tǒng)上使用。它的可移植性和可伸縮性等特性使得它更加容易被運(yùn)用。
Python 庫可用于以下用途:
- Web 開發(fā)
- 數(shù)據(jù)科學(xué)
- 機(jī)器學(xué)習(xí)
- 多媒體
- 軟件開發(fā)
- 像 Django 這樣的 Web 框架
- GUI 應(yīng)用
大多數(shù)極客認(rèn)為 Python 是解釋性語言,但它也存在編譯過程。
編譯部分在代碼執(zhí)行時(shí)完成,并被刪除。然后編譯內(nèi)容被轉(zhuǎn)換為字節(jié)碼。通過機(jī)器和操作系統(tǒng)進(jìn)一步擴(kuò)展到 Python 虛擬機(jī)。
本文重點(diǎn)介紹了適用于 Python 程序員的 11 種優(yōu)秀的 Python 編譯器和解釋器。
很好的 Python 編譯器和解釋器
1.Brython
Brython 是一種流行的 Python 編譯器,可將 Python 轉(zhuǎn)換為 Javascript 代碼。它提供對(duì)所有 Web 瀏覽器(包括一種手機(jī) Web 瀏覽器)的支持。
它還支持比較新的 Html5/CSS3 規(guī)范,可以使用流行的 CSS 框架,如 BootStrap3 和 LESS。
網(wǎng)址:https://brython.info
2. Pyjs
Pyjs 是一個(gè)豐富的 Internet 應(yīng)用程序框架,也是一種輕量級(jí)的 Python 編譯器,可以從 Web 瀏覽器直接執(zhí)行 Python 腳本,可以從瀏覽器的 JS 控制臺(tái)執(zhí)行程序。
它是從 Python 到 Javascript 的編譯器,可以使代碼在 Web 瀏覽器上運(yùn)行。它帶有 Ajax 框架和 Widget Set API。
網(wǎng)站:http://pyjs.org
3. WinPython
它是為 Windows 操作系統(tǒng)設(shè)計(jì)的。它有一些 CPython 的特性。它預(yù)裝了一些針對(duì)數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)的流行庫,例如 Numpy、Pandas 和 Scipy。
它帶有 C/C++ 編譯器,大多數(shù)時(shí)候不會(huì)用到。除此之外,它只有 Python 編譯器,沒有其它包。
網(wǎng)址:https://winpython.github.io
4.Skulpt
Skulpt 是 Python 的瀏覽器版實(shí)現(xiàn),可以被添加到 HTML 代碼中。
此 Python 編譯器使用 Javascript 編寫,在客戶端運(yùn)行代碼,無需其它插件、加工或服務(wù)器支持。
Skulpt 解釋器通過導(dǎo)入方式,來執(zhí)行保存在網(wǎng)站上的 .py 文件中的代碼。
網(wǎng)站:https://skulpt.org
5.Shed Skin
該編譯器將 Python 標(biāo)準(zhǔn)庫模塊編譯為 C++,它將靜態(tài)類型的 Python 程序轉(zhuǎn)換為很受限的優(yōu)化的 C++ 代碼。
通過將其內(nèi)置的 Python 數(shù)據(jù)類型再次實(shí)現(xiàn)為自己的類集(可以用 C++ 高效實(shí)現(xiàn)),可以提高性能。
網(wǎng)站:https://en.wikipedia.org/wiki/Shed_Skin
6.Active Python
這是用于 Windows、Linux 和 Mac Os 的 Python 發(fā)行版,有免費(fèi)的社區(qū)版。
它支持在許多平臺(tái)安裝,某些不被 Python-like 的 AIX 支持的平臺(tái),它也支持。它提供了比 Python 更多的兼容性。
網(wǎng)站:https://www.activestate.com/products/activepython
7.Transcrypt
它是一種流行的將 Python 代碼編譯為簡(jiǎn)單易讀的 Java 代碼的編譯器。它是一個(gè)輕量級(jí)的 Python 編譯器,支持對(duì)矩陣和向量運(yùn)算進(jìn)行切片。
Transcrypt 也可以在 Node.js 上運(yùn)行。分層模塊、多重繼承和本地類給其添加了很多功能。
網(wǎng)站:https://www.activestate.com/products/activepython
8. Nutika
這是一種源碼到源碼的 Python 編譯器,可以將 Python 源代碼轉(zhuǎn)換為 C/C++ 可執(zhí)行代碼。它會(huì)使用到許多 Python 庫和擴(kuò)展模塊。
它自帶 Anaconda,可用于創(chuàng)建數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)項(xiàng)目。
網(wǎng)站:https://www.activestate.com/products/activepython
9. Jython
它用 Java 編寫,可以在運(yùn)行 JVM 的任何平臺(tái)上執(zhí)行。Jython 將 Python代碼編譯為 Java 字節(jié)碼,從而做到跨平臺(tái)。
它可用于創(chuàng)建 Servelets、Swing、SWT 和 AWT 軟件包的解決方案。Jython 使用 CPython 之類的全局解釋器鎖(GIL) 。
另外,你可以將 Java 類擴(kuò)展到 Python 代碼。
網(wǎng)址:https://www.jython.org
10. CPython
CPython 是默認(rèn)的且使用最廣泛的 Python 編譯器。它是用 C 語言編寫的,并使用 GIL(全局解釋器鎖),這使得并發(fā) CPython 進(jìn)程之間的通信很困難。
CPython 中的編譯步驟包括:解碼、令牌化、解析、抽象語法樹和編譯。
網(wǎng)站:https://compilers.pydata.org
11. IronPython
此版本的 Python 編譯器是在微軟的 .Net 框架和 Mono 上實(shí)現(xiàn)的。
它還提供了動(dòng)態(tài)編譯和交互式控制臺(tái)。它使得安裝非常容易,并且具有跨平臺(tái)兼容性。
它還具有標(biāo)準(zhǔn)庫和不同的模塊,主要用于實(shí)現(xiàn) .Net 框架的用戶界面庫。
網(wǎng)址:https://ironpython.net
結(jié)論
Python 是一種為許多實(shí)現(xiàn)提供了可能的開發(fā)語言,例如 Python 到 Java,Python 到 Javascript 或其它。
Python 的這些編譯器有助于我們理解它是多么的全能。