11 個優秀的 Python 編譯器和解釋器

2021-01-07 51CTO

Python 是一門對初學者友好的程式語言,是一種多用途的、解釋性的和面向對象的高級語言。

它擁有非常小的程序集,非常易於學習、閱讀和維護。其解釋器可在Windows、Linux 和 Mac OS 等多種作業系統上使用。它的可移植性和可伸縮性等特性使得它更加容易被運用。

Python 庫可用於以下用途:

Web 開發 數據科學 機器學習 多媒體 軟體開發 像 Django 這樣的 Web 框架 GUI 應用

大多數極客認為 Python 是解釋性語言,但它也存在編譯過程。

編譯部分在代碼執行時完成,並被刪除。然後編譯內容被轉換為字節碼。通過機器和作業系統進一步擴展到 Python 虛擬機。

本文重點介紹了適用於 Python 程式設計師的 11 種優秀的 Python 編譯器和解釋器。

很好的 Python 編譯器和解釋器

1.Brython

Brython 是一種流行的 Python 編譯器,可將 Python 轉換為 Javascript 代碼。它提供對所有 Web 瀏覽器(包括一種手機 Web 瀏覽器)的支持。

它還支持比較新的 Html5/CSS3 規範,可以使用流行的 CSS 框架,如 BootStrap3 和 LESS。

網址:https://brython.info

2. Pyjs

Pyjs 是一個豐富的 Internet 應用程式框架,也是一種輕量級的 Python 編譯器,可以從 Web 瀏覽器直接執行 Python 腳本,可以從瀏覽器的 JS 控制臺執行程序。

它是從 Python 到 Javascript 的編譯器,可以使代碼在 Web 瀏覽器上運行。它帶有 Ajax 框架和 Widget Set API。

網站:http://pyjs.org

3. WinPython

它是為 Windows 作業系統設計的。它有一些 CPython 的特性。它預裝了一些針對數據科學和機器學習的流行庫,例如 Numpy、Pandas 和 Scipy。

它帶有 C/C++ 編譯器,大多數時候不會用到。除此之外,它只有 Python 編譯器,沒有其它包。

網址:https://winpython.github.io

4.Skulpt

Skulpt 是 Python 的瀏覽器版實現,可以被添加到 HTML 代碼中。

此 Python 編譯器使用 Javascript 編寫,在客戶端運行代碼,無需其它插件、加工或伺服器支持。

Skulpt 解釋器通過導入方式,來執行保存在網站上的 .py 文件中的代碼。

網站:https://skulpt.org

5.Shed Skin

該編譯器將 Python 標準庫模塊編譯為 C++,它將靜態類型的 Python 程序轉換為很受限的優化的 C++ 代碼。

通過將其內置的 Python 數據類型再次實現為自己的類集(可以用 C++ 高效實現),可以提高性能。

網站:https://en.wikipedia.org/wiki/Shed_Skin

6.Active Python

這是用於 Windows、Linux 和 Mac Os 的 Python 發行版,有免費的社區版。

它支持在許多平臺安裝,某些不被 Python-like 的 AIX 支持的平臺,它也支持。它提供了比 Python 更多的兼容性。

網站:https://www.activestate.com/products/activepython

7.Transcrypt

它是一種流行的將 Python 代碼編譯為簡單易讀的 Java 代碼的編譯器。它是一個輕量級的 Python 編譯器,支持對矩陣和向量運算進行切片。

Transcrypt 也可以在 Node.js 上運行。分層模塊、多重繼承和本地類給其添加了很多功能。

網站:https://www.activestate.com/products/activepython

8. Nutika

這是一種源碼到源碼的 Python 編譯器,可以將 Python 原始碼轉換為 C/C++ 可執行代碼。它會使用到許多 Python 庫和擴展模塊。

它自帶 Anaconda,可用於創建數據科學和機器學習項目。

網站:https://www.activestate.com/products/activepython

9. Jython

它用 Java 編寫,可以在運行 JVM 的任何平臺上執行。Jython 將 Python代碼編譯為 Java 字節碼,從而做到跨平臺。

它可用於創建 Servelets、Swing、SWT 和 AWT 軟體包的解決方案。Jython 使用 CPython 之類的全局解釋器鎖(GIL) 。

另外,你可以將 Java 類擴展到 Python 代碼。

網址:https://www.jython.org

10. CPython

CPython 是默認的且使用最廣泛的 Python 編譯器。它是用 C 語言編寫的,並使用 GIL(全局解釋器鎖),這使得並發 CPython 進程之間的通信很困難。

CPython 中的編譯步驟包括:解碼、令牌化、解析、抽象語法樹和編譯。

網站:https://compilers.pydata.org

11. IronPython

此版本的 Python 編譯器是在微軟的 .Net 框架和 Mono 上實現的。

它還提供了動態編譯和交互式控制臺。它使得安裝非常容易,並且具有跨平臺兼容性。

它還具有標準庫和不同的模塊,主要用於實現 .Net 框架的用戶界面庫。

網址:https://ironpython.net

結論

Python 是一種為許多實現提供了可能的開發語言,例如 Python 到 Java,Python 到 Javascript 或其它。

Python 的這些編譯器有助於我們理解它是多麼的全能。

【編輯推薦】

【責任編輯:

華軒

TEL:(010)68476606】

點讚 0

相關焦點

  • Python編譯器與解釋器
    但是,在此之前,還要先說說編譯器與解釋器相關的內容。如果這部分內容,讓你覺得難以理解或不能完全明白,可以暫時跳過,等以後再回過頭來重新讀一遍。一、數據的表示方式我們都知道,現實生活中,數字的表示方式有很多種,常見的有二進位、八進位、十進位和十六進位。
  • python解釋器到底是什麼?
    有很多入門學習python的同學都沒有搞清python解釋器是怎麼回事,所以今天在這裡追根溯源的解釋一下。 計算機程式語言 從計算機程式語言說起,它主要分為三類:機器語言、彙編語言、高級語言。
  • 實例教程,用python實現字節碼編譯器和解釋器
    我們都知道編譯源碼需要詞法分析、語法分析、語義分析與中間代碼產生、優化和目標代碼生成等五個過程。對於一個語言來說,有兩個最重要功能,編譯器和解釋器。實現由原始碼到字節碼的轉化,然後才能執行。本文中蟲蟲以CPython 3.6位元組碼為實例,實現一個我們自己的字節碼編譯器和解釋器,以此來熟悉基本的編譯器工作原理(),當然如果想深入理論學習,建議大家去學習了《編譯原理》這本教材。
  • 用 Python 實現 Python 解釋器(下)
    這有 3 個幫助函數:一個創建新的幀的方法(它負責為新的幀找到名字空間),和壓棧和出棧的方法。第四個函數,run_frame,完成執行幀的主要工作,待會我們再討論這個方法。class VirtualMachine(object):    [... 刪節 ...]
  • Python IDE和解釋器的區別是什麼?
    下面小編就帶大家好好認識一下Python IDE和解釋器。1、Python IDEIDE(Integrated Development Environment),全稱是集成開發環境 ,是用於提供程序開發環境的應用程式,一般包括代碼編輯器、編譯器
  • 【Python面試】 說說Python解釋器種類以及特點?
    Python解釋器主要有以下幾個:1、CPython官方版本的解釋器:CPython。這個解釋器是用C語言開發的,所以叫CPython。在命令行下運行python就是啟動CPython解釋器。2、IPythonIPython是基於CPython之上的一個交互式解釋器,也就是說,IPython只是在交互方式上有所增強,但是執行Python代碼的功能和CPython是完全一樣的。
  • Python程序執行過程與字節碼
    程序寫好後,只需敲下 python 命令,便可將程序啟動起來並開始執行:$ python some-program.py那麼,一個文本形式的 .py 文件,是如何一步步轉換為能夠被 CPU 執行的機器指令的呢?
  • MicroPython的交互式解釋器模式 (又稱REPL)
    自動-縮進當鍵入以冒號(例如:if、for、while)結尾的python語句時,提示符將變為三個點(…),光標將縮進4個空格。當您點擊返回鍵,下一行將繼續在正常語句縮進的同一級別,或在適當的情況下繼續添加縮進級別。若您點擊退格鍵,則將撤銷一個縮進級別。若您的光標一直停在開始時,點擊返回鍵將執行您輸入的代碼。
  • 說說Python程序的執行過程(一)
    編譯型語言在程序執行之前,先會通過編譯器對程序執行一個編譯的過程,把程序轉變成機器語言。運行時就不需要翻譯,而直接執行就可以了。最典型的例子就是C語言。解釋型語言就沒有這個編譯的過程,而是在程序運行的時候,通過解釋器對程序逐行作出解釋,然後直接運行,最典型的例子是Ruby。
  • 科悟學院講解Python是什麼以及Python的應用
    解釋型優點:有良好的平臺兼容性,在任何環境中都可以運行,前提是安裝了解釋器(虛擬機)。靈活,修改代碼的時候直接修改就可以,可以快速部署,不用停機維護。缺點:每次運行的時候都要解釋一遍,性能上不如編譯型語言。1.3.靜態和動態語言通常我們所說的動態語言、靜態語言是指動態類型語言和靜態類型語言。
  • 深入 Python 解釋器源碼,我終於搞明白了字符串駐留的原理!
    在本文中,我們將深入研究 Python 的內部實現,並了解 Python 如何使用一種名為字符串駐留(String Interning)的技術,實現解釋器的高性能。全文提綱如下:(在 Python貓 公眾號回複數字「0215」,下載思維導圖)字符串駐留是一種編譯器/解釋器的優化方法,它通過緩存一般性的字符串,從而節省字符串處理任務的空間和時間
  • 大佬專用的十大在線編譯器
    網上十大編譯器網站名稱:1)Ideone.com | 在線IDE和調試工具>> C / C ++,Java,PHP,Python,Perl和40+編譯器和解釋器在線IDE和調試工具www.ideone.com2)鍵盤codepad.org是一個在線編譯
  • python基礎知識科普:python的起源和發展史以及應用場景
    1991年,第一個Python編譯器誕生。它是用C語言實現的,並能夠調用C語言的庫文件。從一出生,Python已經具有了 :類,函數,異常處理,包含表和詞典在內的核心數據類型,以及模塊為基礎的拓展系統。
  • Python案例|混用C函數
    今天,我們來解決python的速度問題.我們平時所說的Python是指在PC機上的CPython,換句話說,Python的解釋器是用C語言編寫的。為Python編寫C擴展模塊能夠顯著提高Python的執行速度,眼下有好幾種方案可以完成這件事。
  • 初識Python
    1991年2月:第一個Python編譯器(同時也是解釋器)誕生,它是用C語言實現的(後面),可以調用C語言的庫函數。在最早的版本中,Python已經提供了對「類」,「函數」,「異常處理」等構造塊的支持,還有對列表、字典等核心數據類型,同時支持以模塊為基礎來構造應用程式。1994年1月:Python 1.0正式發布。
  • python 開發編譯器
    寫完了一個解析protobuf文件的簡單編譯器,深感ply實現詞法分析和語法分析的簡潔方便。乘著餘熱未過,頭腦清醒,記下一點總結和心得,方便各位pythoner參考使用。ply使用簡介如果你不是從事編譯器或者解析器的開發工作,你可能從未聽說過ply。ply是基於python的lex和yacc,而它的作者就是大名鼎鼎Python Cookbook, 3rd Edition的作者。
  • Python 與 Unicode
    編程相關的編碼問題關於程式語言的編碼問題, 可能會涉及到這麼幾個內容:源文件自身的編碼編輯器/IDE 所理解的源文件的編碼方式編譯器/解釋器對原始碼中字符常量的處理方式下文我們會一一說明.源文件自身的編碼源文件自身的編碼是由誰決定的呢?
  • 迅為iTOP-iMX6ULL 開發板-Python 移植
    92.1 源碼包和文檔在一起的源碼包有:「python-2.7.3 源碼和補丁.zip」---python 壓縮包和補丁文件;「install_python.tar」---編譯好的 sqlite 庫文件;
  • python基礎學習教程:Python基礎語法
    Python 語言與 Perl,C 和 Java 等語言有許多相似之處。但是,也存在一些差異。在本章中我們將來學習 Python 的基礎語法,讓你快速學會 Python 編程。第一個 Python 程序交互式編程交互式編程不需要創建腳本文件,是通過 Python 解釋器的交互模式進來編寫代碼。
  • Python遇到性能瓶頸怎麼辦?
    CPython具有優良的開放性和可擴展性,並提供了方便靈活的應用程式接口(API),從而使得C/C++程式設計師能夠對Python解釋器的功能進行擴展。Python的C語言接口很適合封裝C語言實現的各種函數,如果要封裝C++的類,使用boost_python或者SWIG更方便和合適,還有一個類似boost_python的支持C++11的pybind11。