【Python】5分钟了解11个最佳的Python编译器和解释器
11个最佳Python编译器和解释器
- 1. Brython
- 2. Pyjs
- 3. WinPython
- 4. Skulpt
- 5. Shed Skin
- 6. Active Python
- 7. Transcrypt
- 8. Nutika
- 9. Jython
- 10. CPython
- 11. IronPython
- 结论
- 原文链接
Python是一门初学者的编程语言。它是一种高级语言,非常灵活、解释性和面向对象的语言。这是一门非常容易学习、阅读和维护的语言,编写的程序非常简洁。Python解释器适用于多种操作系统,如Windows、Linux和Mac OS。使它更加有用的其他特性包括其可移植性和可扩展性。
Python库可以用于以下用途:
- Web开发
- 数据科学
- 机器学习
- 多媒体
- 软件开发
- Web框架,如Django
- GUI应用程序
大多数技术专家认为Python是一门解释性语言,但它在一开始也是编译语言。编译部分是在代码执行和删除时完成的。然后将其转换为字节码。然后通过机器和操作系统传递给Python虚拟机。本文重点介绍了11个最佳的Python编译器和解释器,适用于Python程序员。
1. Brython
Brython是一个流行的Python编译器,它将Python转换为Javascript代码。它为包括移动网络浏览器在内的所有网络浏览器提供支持。
 
 它还附带了Html5/CSS3的最新规范。它可以使用流行的CSS框架,如BootStrap3和LESS。
2. Pyjs
Pyjs是一个丰富的互联网应用程序框架。它也是一个轻量级的Python编译器,可以使用Python脚本从web浏览器直接使用,也可以从web浏览器JS控制台执行程序。
 
 它是Python到Javascript的编译器,可以使您的代码在web浏览器上运行。它附带了Ajax框架和Widget Set API。
3. WinPython
WinPython是为Windows操作系统设计的。它比CPython有几个特性。它附带了数据科学和机器学习的预打包流行库,如Numpy、Pandas和Scipy。
 
 它附带了**C和C++编译器,这在大多数情况下是不需要的。除此之外,It’s zero软件包只附带Python编译器。
4. Skulpt
Skulpt是Python的浏览器内实现。它也可以添加到Html代码中。
  这个Python编译器是用Javascript编写的,可以在客户端运行代码,而无需额外的插件、处理或服务器支持。
这个Python编译器是用Javascript编写的,可以在客户端运行代码,而无需额外的插件、处理或服务器支持。
Skulpt解释器将通过导入保存在网站.py文件中的python代码来执行该代码。
5. Shed Skin
Shed Skin编译器使用标准库模块将Python代码编译为C++。它将静态类型的Python程序转换为具有许多限制的优化C++代码。
 
 它可以通过再次将其内置的Python数据类型实现到自己的一组类中来提高您的性能,这些类在C++中高效地实现。
6. Active Python
这是适用于Windows、Linux和Mac Os的Python发行版,提供免费社区版本。
 
 它支持安装许多平台,其中一些平台甚至不受类似Python的AIX平台的支持。它提供了比Python更多的兼容性。
7. Transcrypt
它是流行的Python编译器之一,它将Python代码编译成简单可读的Java代码。它是一个轻量级的Python编译器,支持使用矩阵和向量操作进行切片。
 
 Transcrypt也可以在Node.js上运行。分层模块、多继承和本地类为其列表添加了更多功能。
8. Nutika
Nutika 是一种源码到源码的 Python 编译器,可以将 Python 源代码转换为 C/C++ 可执行代码。它会使用到许多 Python 库和扩展模块。
 
 它自带 Anaconda,可用于创建数据科学和机器学习项目。
9. Jython
它用 Java 编写,可以在运行 JVM 的任何平台上执行。Jython 将 Python代码编译为 Java 字节码,从而做到跨平台。
 
 它可用于创建 Servelets、Swing、SWT 和 AWT 软件包的解决方案。Jython 使用 CPython 之类的全局解释器锁(GIL) 。另外,可以将 Java 类扩展到 Python 代码。
10. CPython
CPython 是默认的且使用最广泛的 Python 编译器。它是用 C 语言编写的,并使用 GIL(全局解释器锁),这使得并发 CPython 进程之间的通信很困难。
 
 CPython 中的编译步骤包括:解码、令牌化、解析、抽象语法树和编译。
11. IronPython
IronPython版本的 Python 编译器是在微软的 .Net 框架和 Mono 上实现的。
 
 它还提供了动态编译和交互式控制台。它使得安装非常容易,并且具有跨平台兼容性。
它还具有标准库和不同的模块,主要用于实现 .Net 框架的用户界面库。
结论
Python 是一种为许多实现提供了可能的开发语言,例如 Python 到 Java,Python 到 Javascript 或其它。Python 的这些编译器有助于我们理解它是多么的全能。
原文链接
https://morioh.com/a/765b19f066a4/best-11-python-compilers-and-interpreters
相关文章:
 
【Python】5分钟了解11个最佳的Python编译器和解释器
11个最佳Python编译器和解释器 1. Brython2. Pyjs3. WinPython4. Skulpt5. Shed Skin6. Active Python7. Transcrypt8. Nutika9. Jython10. CPython11. IronPython结论原文链接 Python是一门初学者的编程语言。它是一种高级语言,非常灵活、解释性和面向对象的语言。…...
 
如何安装、部署、启动Jenkins
一、测试环境 Linux系统 Centos 7 二、安装步骤: 1、安装jdk 我安装的是jdk8,此处就不多说了,自己百度哈,很简单 2、安装jenkins 首先依次执行如下三个命令: 2.1、导入镜像: [rootcentos7 ~]# sudo …...
sqlalchemy flask长时间未使用 导致数据库连接失效
临时解决方案:在正式运行定时任务之前,先跑一个session.query(),相当于唤醒连接。 参考 https://blog.csdn.net/sinat_42483341/article/details/103723691...
Ubuntu 20.04 系统或图像界面卡死或完全无响应处理方法
Ubuntu 20.04 系统或图像界面卡死或完全无响应处理方法 问题背景无需重启方法安全重启方法 问题背景 Ubuntu 20.04在安装驱动程序时系统突然无响应,终端也无法运行;考虑到尽量不破坏系统,不希望强制上下电重启机器,以免损坏文件系…...
 
Linux编辑器 - vim使用
1.vim的基本概念 Vim是一个广泛使用的文本编辑器,它是在Unix和Linux系统中常用的命令行文本编辑器之一。 vim的主要三种模式 ( 其实有好多模式,目前掌握这 3 种即可 ), 分别是 命令模式 ( command mode )、 插入模式 ࿰…...
【Windows】磁盘快捷修复
【Windows】磁盘快捷修复 1、背景2、关于Chkdsk3、示例 1、背景 前段时间使用U盘拷贝文件过程中,突然发现U盘无法读取了,U盘里面存储的数据也无法获取。 然后使用windows系统的chkdsk命令进行修复。 chkdsk全称:checkdisk,即磁盘…...
 
Java 线程的多种状态
前言 在前文中详细介绍了线程的启动、中断、休眠、等待。本文详细介绍线程的多种状态。 获取线程的当前状态代码是: 线程对象.getState(); 目录 前言 一、NEW 二、RUNNABLE 三、BLOCKED 四、WAITNG 五、TIMED_WAITNG 六、TERMINATED 结语 一、NEW Thread 对…...
 
AI绘画| 迪士尼风格|可爱头像【附Midjourney提示词】
Midjourney案例分享 图片预览 迪士尼风格|可爱头像 高清原图及关键词Prompt已经放在文末网盘,需要的自取 在数字艺术的新时代,人工智能绘画已经迅速崭露头角。作为最先进的技术之一,AI绘画结合了艺术和科学,开启了一…...
 
【浪费了我两个小时时间】Microsoft store无法加载页面0x80131500
绕的圈,踩的坑 谷歌搜索, newbing搜索都叫我清理缓存,重新安装等方法。 还被这篇文章误导了一下:微软应用商店错误代码0x80072EFD怎么办?(已解决) 加上重启电脑各种试不行。 最后想到要去改代…...
 
【动态规划】子序列系列
文章目录 动态规划(子序列系列)1. 最长递增子序列2. 摆动序列3. 最长递增子序列的个数4. 最长数对链5. 最长定差子序列6. 最长的斐波那契子序列的长度7. 最长等差数列8. 等差数列划分 || - 子序列 动态规划(子序列系列) 1. 最长递…...
 
URL存储解锁数据管理的新思路,重新定义数据传输与共享(@vue/repl)
Thinking系列,旨在利用10分钟的时间传达一种可落地的编程思想。 近日,在了解 vue/repl 相关内容,其通过 URL 进行数据存储,感觉思路惊奇,打开了新方式。 首先,通过 URL 存储最大的便利是:无需服…...
matlab程序中文乱码
不同版本的matlab共存在GBK(即,ANSI)和UTF-8两种编码方式,因此可能会出现乱码问题。 第一步:在matlab的命令行窗口输入指令,查看当前编码方式 feature(locale) 第二步:用Notepad打开文件&…...
 
【计算机视觉|语音分离】期望在嘈杂环境中聆听:一个用于语音分离的不依赖于讲话者的“音频-视觉模型”
本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 标题:Looking to Listen at the Cocktail Party: A Speaker-Independent Audio-Visual Model for Speech Separation 链接:Looking to listen at the cocktail party: a speaker-in…...
curl 介绍和使用
文章目录 一、介绍1.1 curl 介绍1.2 curl 参数介绍1.3 类似Curl的工具和库 二、使用2.1 curl 下载2.2 curl 示例用法2.3 curl命令使用digest方式验证用户 一、介绍 1.1 curl 介绍 官网:https://curl.se/GitHub源码:https://github.com/curl/curl Curl…...
5、VMWARE安装、MobaXterm SSH连接 、Ubuntu xrdp安装使用
以下是在VMware中安装Ubuntu 22.04的详细步骤: 下载Ubuntu 22.04镜像文件: 前往Ubuntu官方网站或其他可信来源,下载Ubuntu 22.04的镜像文件(.iso格式)。 创建虚拟机: 打开VMware Workstation软件…...
Docker dockerfile 案例:centos 支持 vim
创建一个 centos 容器,容器内默认是不支持使用 vim 指令的,只能使用 vi 指令。(附:Dockerfile 语法与指令) 但想在创建 centos 容器后就支持 vim 指令,需要自定义 centos,编写 dockerfile&…...
Git忽略已经提交过一次的文件 Git忽略文件
1、从未提交过的文件可以用.gitignore 也就是添加之后从来没有提交(commit)过的文件,可以使用.gitignore忽略该文件 该文件只能作用于未跟踪的文件(Untracked Files),也就是那些从来没有被 git 记录过…...
 
Scala项目找不到或无法加载主类
目录 1,出错背景2,分析与解决 1,出错背景 Scala项目无法创建scale和Java文件。项目没有报错,但执行时项目总是找不到项目下的类,报错信息如下所示: 错误: 找不到或无法加载主类 com.my.memTestCheck但该类…...
 
八大排序算法--选择排序(动图理解)
选择排序 算法思路 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完 。 选择排序的步骤: 1>首先在未排序序列中找到最小(大)元素…...
 
6.s081(Fall 2022)Lab2: system calls
文章目录 前言其他篇章参考链接0. 前置准备1. System call tracing (moderate) 前言 好像没啥前言 其他篇章 环境搭建 Lab1:Utilities 参考链接 官网链接 xv6手册链接,这个挺重要的,建议做lab之前最好读一读。 xv6手册中文版,这是几位先…...
 
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
 
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
 
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
 
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
 
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...
