Python常用编译器原理及特点解析
作者:python大师 发布时间:2021-09-04 05:10:11
python要知道怎么用好编译器。当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。
由于整个Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种Python解释器,比如:
CPython
当我们从Python官方网站下载并安装好Python 3.x后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。
CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。
IPython
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
PyPy
PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
Jython
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
IronPython
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
以上的你都见过吧:虽然Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。
来源:https://www.cnblogs.com/daniumiqi/p/12148205.html


猜你喜欢
- 本文记录了Anaconda2安装NLTK的方法,供大家参考,具体内容如下先看我的python和Anaconda版本启动anaconda命令窗
- 从windows操作系统本地读取csv文件报错data = pd.read_csv(path)Traceback (most recent
- 数据库:保存图片的数据格式 图象二进制数据储存字段前台: <%@ Page Language="C#" AutoE
- 遍历pd.Series的index和value的方法如下,python built-in list的enumerate方法不管用for i,
- 本文实例讲述了Python selenium的基本使用方法。分享给大家供大家参考,具体如下:selenium是一个web自动化测试工具,se
- javascript是种脚本语言,浏览器下载到哪儿就会执行到哪儿,这种特性会为编程提供方便,但也容易使程序过于凌乱,支离破碎。 js从功能上
- 当然,页面最好不要刷新,但是,拷贝一下浏览器的链接,又希望是下次能定位到你播发的那个视频。方法很简单,改变一下 url 的 fragment
- 1、bootstrapBootstrap 是Twitter推出的一个用于前端开发的,一个用于 HTML、CSS 和 JS 开发的开源工具包,
- 使用PyCharm工具写好的Python程序脚本,怎么将.py文件编译为可执行的.exe文件前提是已经安装了Python环境。第一步:在Py
- 原始两张图片:代码运行结果如下。5种算法值哈希算法、差值哈希算法和感知哈希算法都是值越小,相似度越高,取值为0-64,即汉明距离中,64位的
- 前言综合应用已经学习过的知识点:变量流程控制函数模块系统需求1.程序启动,显示名片管理系统欢迎界面,并显示功能菜单*************
- 我就废话不多说了,直接上代码吧!import Imagefrom datetime import datetimeimport osstr
- Python中将列表转换成为数据框有两种情况:第一种是两个不同列表转换成一个数据框,第二种是一个包含不同子列表的列表转换成为数据框。第一种:
- 问题产生:pycharm→settings→Project interpreter→下载matplotlib包运行代码,出现以下提示:找不到
- 导入执行后VM292:1 thirdScriptError sdk uncaught third Error mod
- mysql升级5.7版本以后,安全性大幅度上升。但是呢。。。带复杂的记不住。额额。。本来脑子就不好使,还记那么复杂,尤其是本地就更没必要,还
- 代码很简单,只是给大家一个思路的,这里就不多废话了,奉上源码:<!DOCTYPE html><html><he
- 实际操作中我们经常需要寻找数据的某行或者某列,这里介绍我在使用Pandas时用到的两种方法:iloc和loc。loc:通过行、列的名称或标签
- 一、常见的异常1、NameError 未定义变量异常print(a)# 输出:NameError: name 'a' is
- 1.开始----程序-----oracle------配置和移植工具-----Net Manager----本地----服务命名---ora