转载:
https://blog.csdn.net/xyisv/article/details/79389626

CPython是特指C语言实现的Python,就是原汁原味的Python。

之所以使用CPython这个词,是因为Python还有一些其它的实现,比如Jython,就是Java版的Python,还有烧脑的PyPy,使用Python再把Python实现了一遍。

如下是官方对CPython的说明:

CPython is Guido van Rossum’s reference version of the Python computing language. It’s most often called simply “Python”; speakers say “CPython” generally to distinguish it explicitly from other implementations.

当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。

由于整个Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种Python解释器。

CPython
当我们从Python官方网站下载并安装好Python 3.5后,我们就直接获得了一个官方版本的解释器: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的字节码。

CPython、Jython、PyPy相关推荐

  1. CPython、IPython、PyPy、Jython、IronPython名词解释

    当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件.要运行代码,就需要Python解释器去执行.py文件. 由于整个Python语言从规范到解释器都是开源的 ...

  2. python环境变量配置_Python的安装、认识、配置环境变量以及helloworld打印的两种方式

    Python的安装.认识.配置环境变量以及helloworld打印的两种方式 一. 安装和配置环境变量 首先我们去到Python的官方下载地址根据自己的电脑机型来下载最新的python安装包,网址是h ...

  3. python、cpython、IPython、Jython区别

    python.cpython.IPython.Jython小谈 python CPython IPython Jython python Python是解释型语言,代码在执行时会一行一行地翻译成CPU ...

  4. Cpython解释器下实现并发编程——多进程、多线程、协程、IO模型

    一.背景知识 进程即正在执行的一个过程.进程是对正在运行的程序的一个抽象. 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统的其他所有内容都 ...

  5. Jython、JRuby 和 Groovy

    Jython.JRuby 和 Groovy 摘要:本文从面向方面设计.分析的角度建立Jython.JRuby和Groovy的统一 认识模型.以期对实际开发应用有所指导. 当前,对于Python.Rub ...

  6. 零基础自学Python:安装Python、解释器、代码风格等

    Python是一种面向对象.解释型计算机程序设计语言.语法简洁清晰,强制用空白符作为语句缩进.Python具有丰富和强大的库,又被称为胶水语言.能把其他语言(主要C/C++)写的模块很轻松的结合在一起 ...

  7. 独家|测量、建议、快速上手!你所使用的Python对象占用了多少内存?(附代码)...

    作者:Gigi Sayfan 翻译:吴振东 校对:吴金笛 本文约3300字,建议阅读10分钟. 本文将介绍多种Python对象分别所占用的内存,并解释所选择的测量方法和函数,为节省内存提供建议. Py ...

  8. Python简介、安装、更新、基本语法及数据类型

    Python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...

  9. Python3学习笔记(一)简介 、 安装 、 解释器

    python(一)简介.安装 . python解释器介绍 一. 简介 python提供了非常完善的基础代码库 , 覆盖了网络 . 文件 . GUI . 数据库 . 文本等大量的内容 , 被称之为&qu ...

最新文章

  1. 周礼栋:现在是计算机系统和网络研究“最好的时代”
  2. 隐秘的角落——一个CIO的惊魂72小时
  3. applet操作本地文件
  4. Backbone与服务器接口之RESTful
  5. re-for-50-plz-50 寒假逆向生涯(6/100)
  6. ZT:与其怨天尤人,不如全力以赴;若想改变世界,你必须先从改变自己开始!...
  7. Python3 关键字nonlocal和global的用法与区别
  8. C++小项目-吃豆子游戏
  9. 前端if else_应该记录的一些项目代码(前端)
  10. 解决循环引用--弱引用weak_ptr
  11. 天池 在线编程 LR String
  12. yslow各个指标含义
  13. windows 与linux实现文件共享
  14. 用户账户、共享和NTFS权限
  15. wpsppt放映时间_wps演示怎么调整放映速度?
  16. 如何在 React 中优雅的写 CSS?CSS作用域隔离
  17. R语言分组求和,分组求平均值,分组计数
  18. Vue父组件mounted执行完后再执行子组件mounted执行顺序问题
  19. 2022年上半年全球知名企业十大数据泄露事件
  20. Mysql一些特殊有用的语法函数

热门文章

  1. Scala学习小计 - 什么是模式匹配(pattern-matchin)?
  2. 跳槽时,这些Java面试题必须会,99%会被问到!
  3. ABAP 设置ALV复选框
  4. 电脑微信多开营销号养成技术详细教程
  5. 【Java】Annotation
  6. java数据结构和算法 北风 下载_Java] 北风Java20集+44集版数据结构算法基础教程
  7. 神经网络学习(3)————BP神经网络以及python实现
  8. SQL中各关键字以及DBeaver工具的使用
  9. socket的阻塞模式和非阻塞模式
  10. Vue-Element写一个简单的列表管理23/100统