原作:Archie Mistry
翻译:豌豆花下猫@Python猫
原文:https://morioh.com/p/765b19f066a4
Python 是一门对初学者友好的编程语言,是一种多用途的、解释性的和面向对象的高级语言。
它拥有非常小的程序集,非常易于学习、阅读和维护。其解释器可在windows、linux 和 mac OS 等多种操作系统上使用。它的可移植性和可伸缩性等特性使得它更加容易被运用。
Python 库可用于以下用途:
大多数极客认为 Python 是解释性语言,但它也存在编译过程。
编译部分在代码执行时完成,并被删除。然后编译内容被转换为字节码。通过机器和操作系统进一步扩展到 Python 虚拟机。
本文重点介绍了适用于 Python 程序员的 11 种最佳的 Python 编译器和解释器。
Brython 是一种流行的 Python 编译器,可将 Python 转换为 JAVAscript 代码。它提供对所有 Web 浏览器(包括一种手机 Web 浏览器)的支持。
它还支持最新的 html5/css3 规范,可以使用流行的 CSS 框架,如 BootStrap3 和 LESS。
网址:https://brython.info
Pyjs 是一个丰富的 Internet 应用程序框架,也是一种轻量级的 Python 编译器,可以从 Web 浏览器直接执行 Python 脚本,可以从浏览器的 JS 控制台执行程序。
它是从 Python 到 JavaScript 的编译器,可以使代码在 Web 浏览器上运行。它带有 Ajax 框架和 Widget Set API。
网站:http://pyjs.org/
它是为 Windows 操作系统设计的。它有一些 CPython 的特性。它预装了一些针对数据科学和机器学习的流行库,例如 Numpy、Pandas 和 Scipy。
它带有 C/C++ 编译器,大多数时候不会用到。除此之外,它只有 Python 编译器,没有其它包。
网址:https://winpython.github.io/
Skulpt 是 Python 的浏览器版实现,可以被添加到 HTML 代码中。
此 Python 编译器使用 Javascript 编写,在客户端运行代码,无需其它插件、加工或服务器支持。
Skulpt 解释器通过导入方式,来执行保存在网站上的 .py 文件中的代码。
网站:https://skulpt.org
该编译器将 Python 标准库模块编译为 C++,它将静态类型的 Python 程序转换为很受限的优化的 C++ 代码。
通过将其内置的 Python 数据类型再次实现为自己的类集(可以用 C++ 高效实现),可以提高性能。
网站:https://en.wikipedia.org/wiki/Shed_Skin
这是用于 Windows、Linux 和 Mac Os 的 Python 发行版,有免费的社区版。
它支持在许多平台安装,某些不被 Python-like 的 AIX 支持的平台,它也支持。它提供了比 Python 更多的兼容性。
网站:https://www.activestate.com/products/activepython/
它是一种流行的将 Python 代码编译为简单易读的 Java 代码的编译器。它是一个轻量级的 Python 编译器,支持对矩阵和向量运算进行切片。
Transcrypt 也可以在 Node.js 上运行。分层模块、多重继承和本地类给其添加了很多功能。
网站:http://www.transcrypt.org/
这是一种源码到源码的 Python 编译器,可以将 Python 源代码转换为 C/C++ 可执行代码。它会使用到许多 Python 库和扩展模块。
它自带 Anaconda,可用于创建数据科学和机器学习项目。
网站:http://nuitka.net/
它用 Java 编写,可以在运行 JVM 的任何平台上执行。Jython 将 Python代码编译为 Java 字节码,从而做到跨平台。
它可用于创建 Servelets、Swing、SWT 和 AWT 软件包的解决方案。Jython 使用 CPython 之类的全局解释器锁(GIL) 。
另外,你可以将 Java 类扩展到 Python 代码。
网址:https://www.jython.org
CPython 是默认的且使用最广泛的 Python 编译器。它是用 C 语言编写的,并使用 GIL(全局解释器锁),这使得并发 CPython 进程之间的通信很困难。
CPython 中的编译步骤包括:解码、令牌化、解析、抽象语法树和编译。
网站:https://compilers.pydata.org/
此版本的 Python 编译器是在微软的 .Net 框架和 Mono 上实现的。
它还提供了动态编译和交互式控制台。它使得安装非常容易,并且具有跨平台兼容性。
它还具有标准库和不同的模块,主要用于实现 .Net 框架的用户界面库。
网址:https://ironpython.net/
Python 是一种为许多实现提供了可能的开发语言,例如 Python 到 Java,Python 到 Javascript 或其它。
Python 的这些编译器有助于我们理解它是多么的全能。