Python 之解释器
Python 是一种解释型语言。所谓解释型语言是相对于编译型语言的。
解释型语言运行代码时会使用解释器从代码顶部一行一行解释并运行代码,直到结束。
而编译型语言是将所有代码编译成计算机可以直接识别的机器码,然后再运行代码。
当我们从 Python 官网上下载 Python 环境时,其实我们已经下载了 Python 的解释器了,Python 自带的解释器为 CPython。
接下来介绍各个解释器。
CPython
CPython 解释器,顾名思义是用C语言开发的 Python 解释器,也是最原始的 Python 解释器。也就是说它将 Python 代码转化为 C 代码来运行。
IPython
IPython 解释器,是基于 CPython 开发的解释器,它增强了交互性。可以理解为 CPython 的强化版。
PyPython
PyPython 解释器,顾名思义就是用 Python 开发的 Python 解释器。这看起来貌似毫无用处。但是它相对于其他解释器多了一个很强大的功能:JIT技术。JIT 为即时编译器,它能够将部分代码编译成机器码运行,这使得包含很多重复代码的 py 程序能够更快地运行。
JPython
JPython 解释器,它能够将 Python 代码解释成 Java 代码在 JVM 上运行。
IronPython
IronPython 与 JPython 解释器类似,它能够将 Python 代码在 .Net 平台上运行。
Python 的解释器有很多,但是我们大部分用的还是最原汁原味的 CPython。但从这些解释器也可以看出 Python 能够在很多平台上运行,这也是 Python 的一大优势吧。
Python 之解释器的更多相关文章
- python的解释器spython介绍
Python解释器spython介绍 简介 出于个人爱好和某种需求,我再16年对python的解释器产生了浓厚兴趣,并且下定决心重新实现一个版本.我个人再游戏服务器开发中,对c++嵌入lua和pyth ...
- /usr/bin/python^M: 解释器错误: 没有那个文件或目录
遇见问题 因为linux在虚拟机中,所以就在本地敲python代码,敲完后再拿到虚拟机去执行,再输入./filename.py时,就遇到这样的一个问题: bash: ./filename.py: /u ...
- python入门(3)python的解释器
python入门(3)python的解释器 Python写的程序是以.py为扩展名的文本文件.要运行代码,就需要Python解释器去执行.py文件. 由于整个Python语言从规范到解释器都是开源的, ...
- python全局解释器GIL
1.什么是进程: 进程是竞争计算机资源的基本单位.对于单核CPU来讲,同一时间只能有一个进程在运行,所以当我们开启多个应用时,操作系统需要根据进程调度算法去在不同的应用程序之间切换,而不同的进程之间切 ...
- Python基础:三、Python的解释器
当我们编写python代码的时候,我们得到的是一个包含python代码的以.py为拓展名的文本文件,要运行代码,就需要python解释器去执行.py文件. 由于整个python语言从规范到解释器都是开 ...
- Python全局解释器锁
超过十年以上,没有比解释器全局锁(GIL)让Python新手和专家更有挫折感或者更有好奇心. Python的底层 要理解GIL的含义,我们需要从Python的基础讲起.像C++这样的语言是编译型 ...
- [No000011F]Python教程2/9-安装Python 及其解释器介绍
因为Python是跨平台的,它可以运行在Windows.Mac和各种Linux/Unix系统上.在Windows上写Python程序,放到Linux上也是能够运行的. 要开始学习Python编程,首先 ...
- python的解释器类型
Python解释器 当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件.要运行代码,就需要Python解释器去执行.py文件. 由于整个Python语言从规 ...
- Python环境搭建(win)——Python官方解释器
Python官方解释器搭建方法: 本文以当前最新的3.8.1为例 1.在电脑上打开Python的官网https://www.python.org/ 2.找到Download下的All releases ...
- 解决:执行python脚本,提示错误:/usr/bin/python^M: 解释器错误: 没有那个文件或目录。
执行python脚本,提示错误: /usr/bin/python^M: 解释器错误: 没有那个文件或目录. 产生错误原因: \r字符被显示为^M,这时候只需要删除这个字符就可以了. Linux环境下: ...
随机推荐
- 【待填坑】LG_4996_咕咕咕
正解思路和[AHOI]的中国象棋非常相似,同样是利用状态不一定一定要表示出来,利用组合数学递推节省枚举时间.
- 看完这篇还不了解 Nginx,那我就哭了!
作者:蔷薇Nina www.cnblogs.com/wcwnina/p/8728391.html 想必大家一定听说过 Nginx,若没听说过它,那么一定听过它的"同行"Apache ...
- Android 粘合剂'Binder'
背景知识 要详细掌握Android 的Binder通信机制需要先提前了解一些通信原理与Linux系统的基础知识. RPC RPC(Remote Procedure Call),即远程过程调用,也被称为 ...
- Vue组件传递数据
组件命名 1.字母全小写且必须包含一个连字符 my-componnect 2.使用 kebab-case(短横线分隔命名) 定义一个组件时,你也必须在引用这个自定义元素时使用 kebab-case,例 ...
- EOS2.0环境搭建-centos7
需要安装启动的有三个组件 nodes,keosd,cleos,看看三者的关系 nodeos:核心程序,用于启动eos节点服务,在后台运行,可以配置不同 插件.该进程负责账户管理.区块生成.共识建立,并 ...
- 前端每日实战:39# 视频演示如何用纯 CSS 创作一个表达怀念童年心情的条纹彩虹心特效
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/QxbmxJ 可交互视频教程 此视频 ...
- JVM—垃圾回收GC算法
1 GC算法简介 算法 特点 标记-清除 分为"标记"和"清除"两个阶段 复制 可以解决效率问题,将可用的内存按容量划分为大小相等的两块. 标记-整理 先标记. ...
- echarts实现饼图及横向柱状图的绘制
项目中需要绘制饼图,因此简单学习了下echarts的基本使用.head中引入js文件: <script src="/static/frame/echarts/echarts.min.j ...
- 网站开发---js与java实现的一些小功能
记录一下网站开发过程中的一些小功能 1.js获取当前年份: <span>Copyright © 2017-<script>document.write( new Date(). ...
- SpringCloud第二代实战系列:一文搞定Nacos实现服务注册与发现
一.背景:SpringCloud 生态圈 在正式开始本篇文章之前我们先岔开来讲一下SpringCloud的生态圈. SpringCloud大家都比较熟悉了,它制定了分布式系统的标准规范,做了高度抽象和 ...