返回顶部
首页 > 资讯 > 后端开发 > Python >Python的几种实现
  • 758
分享到

Python的几种实现

几种Python 2023-01-31 06:01:16 758人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

python自身作为一门编程语言,它有多种实现。这里的实现指的是符合Python语言规范的Python解释程序以及标准库等。这些实现虽然实现的是同一种语言,但是彼此之间,特别是与CPython之间还是有些差别的。下面分别列出几个主要的实现。

python自身作为一门编程语言,它有多种实现。这里的实现指的是符合Python语言规范的Python解释程序以及标准库等。这些实现虽然实现的是同一种语言,但是彼此之间,特别是与CPython之间还是有些差别的。


下面分别列出几个主要的实现。


1. CPython:这是Python的官方版本,使用C语言实现,使用最为广泛,新的语言特性一般也最先出现在这里。


   CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。


2. Jython:这是Python的Java实现,相比于CPython,它与Java语言之间的互操作性要远远高于CPython和C语言之间的互操作性。


   在Python中可以直接使用Java代码库,这使得使用Python可以方便地为Java程序写测试代码,更进一步,可以在Python中使用Swing等图形库编写GUI程序。


   Jython会将Python代码动态编译成Java字节码,然后在JVM上运行转换后的程序,这意味着此时Python程序与Java程序没有区别,只是源代码不一样。


   在Python 中写一个类,像使用Java 类一样使用这个类是很容易的事情。


   你甚至可以把Jython 脚本静态地编译为Java 字节码。


   示例代码:

from java.lang import System
System.out.write('Hello World!\n')


3. Python for .NET:它实质上是CPython实现的.net托管版本,它与.NET库和程序代码有很好的互操作性。


4. IronPython:不同于Python for .NET,它是Python的C#实现,并且它将Python代码编译成C#中间代码(与Jython类似),然后运行,它与.NET语言的互操作性也非常好。


5. PyPy:Python的Python实现版本,原理是这样的,PyPy运行在 CPython(或者其它实现)之上,用户程序运行在PyPy之上。它的一个目标是成为Python语言自身的试验场,因为可以很容易地修改PyPy解释器的实现(因为它是使用Python写的)。


6. Stackless:CPython 的一个局限就是每个Python函数调用都会产生一个C函数调用。 这意味着同时产生的函数调用是有限制的,因此Python难以实现用户级的线程库和复杂递归应用。一旦超越这个限制,程序就会崩溃。Stackless的Python实现突破了这个限制,一个C栈帧可以拥有任意数量的Python栈帧。这样你就能够拥有几乎无穷的函数调用,并能支持巨大数量的线程。Stackless唯一的问题就是它要对现有的CPython解释器做重大修改。所以它几乎是一个独立的分支。另一个名为Greenlets的项目也支持微线程。它是一个标准的C扩展,因此不需要对标准Python解释器做任何修改。


下面的这篇文章对Stackless做了比较多的介绍,但是也比较难以读懂:

可爱的 Python:Python实现内幕

--结束END--

本文标题: Python的几种实现

本文链接: https://lsjlt.com/news/189721.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python的几种实现
    Python自身作为一门编程语言,它有多种实现。这里的实现指的是符合Python语言规范的Python解释程序以及标准库等。这些实现虽然实现的是同一种语言,但是彼此之间,特别是与CPython之间还是有些差别的。下面分别列出几个主要的实现。...
    99+
    2023-01-31
    几种 Python
  • Python数组变形的几种实现方法
    目录1.reshape2.flatten3.ravel4.stack(1)concatenate(2)vstack(3)dstack(4)hstack(5)r,c模式5.split(...
    99+
    2024-04-02
  • Redis限流的几种实现
    目录一、简单的限流 基本原理 二、漏斗限流 基本原理Redis-Cell 参考来源 一、简单的限流 基本原理 当系统处理能力有限,如何组织计划外的请求对系统施压。首先我们先看下一...
    99+
    2024-04-02
  • Python 实现栈的几种方式及其优劣
    ​​想了解更多关于开源的内容,请访问:​​​​51CTO 开源基础软件社区​​​​https://ost.51cto.com​​一、栈的概念栈由一系列对象对象组织的一个集合,这些对象的增加和删除操作都遵循一个“后进先出”(Last In F...
    99+
    2023-05-19
    Python 数据结构
  • python实现多线程的方法有哪几种
    在Python中,有多种方法可以实现多线程,其中最常用的有以下几种: 使用 threading 模块:Python的 thread...
    99+
    2024-03-08
    python
  • MySQL表分区的几种实现
    目录关于分区以及为什么要分区水平分区的几种类型及demo1.range分区2.list分区3.hash分区4.key分区5.子分区(复合分区)6.columns分区关于分区以及为什么要分区 我们首先找到mysql的数据存...
    99+
    2022-08-18
    MySQL表分区
  • Struts2 实现Action的几种方式
    Struts2 实现 Action 的几种方式有以下几种:1. 实现 Action 接口:可以实现 Struts2 提供的 Action 接口,该接口定义了执行 Action 的方法 execute(),通过该方法可以处理请求并返回结果...
    99+
    2023-08-11
    Struts2
  • Struts2实现Action的几种方式
    Struts2实现Action的几种方式有以下几种:1. 实现Action接口:创建一个类并实现com.opensymphony.x...
    99+
    2023-08-17
    Struts2
  • Python栈实现的几种方式及优劣详解
    目录1 栈的概念栈的实际应用2 栈的抽象数据类型3 用 Python 的列表实现栈4 用 collections.deque 实现栈为什么有了 list 还需要 deque?5 用 ...
    99+
    2024-04-02
  • 关于python单例的常用几种实现方法
    这两天在看自己之前写的代码,所以正好把用过的东西整理一下,单例模式,在日常的代码工作中也是经常被用到, 所以这里把之前用过的不同方式实现的单例方式整理一下   装饰器的方式 这种方式也是工作中经常用的一种,用起来也比较方便,代码实现如下 ...
    99+
    2023-01-30
    几种 常用 方法
  • Python实现"验证回文串"的几种方法
    一、LeetCode——125.验证回文串 1.问题描述 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的...
    99+
    2024-04-02
  • 几种常见的Python算法实现分别有哪些
    这篇文章将为大家详细讲解有关几种常见的Python算法实现分别有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。选择排序选择排序是一种简单直观的排序算法。它的原理是这样:首先在未排序序列中...
    99+
    2023-06-02
  • C#代码延时的几种实现
    目录Task.Delay();异步实现线程实现:计时器方式实现:Task.Delay();异步实现 using System; using System.Threading.Ta...
    99+
    2024-04-02
  • Android 截屏实现的几种方式
    Android 截屏分为四种:View 截屏、WebView 截屏、系统截屏 和 adb 截屏 image.png image.png 1、View 截屏 View 截图是将当前 View 界面截取下来,而对于屏幕上其他信息比如:状态栏...
    99+
    2023-08-31
    android webview java
  • MySQL 实现FULL JOIN的几种方式
    MySQL中没有full join 但我我们可以通过以下几种方式来实现 注意:UNION 和 UNION ALL 的区别, UNION 会自动去重而UNION ALL不...
    99+
    2023-09-05
    mysql
  • Struts 2 实现Action的几种方式
    Action用于处理用户的请求,因此也被称为业务控制器。每个Action类就是一个工作单元,Struts 2框架负责将用户的请求与相应的Action匹配,如果匹配成功,则调用该Action类对用户请求进行处理,而匹配规则需要在Struts ...
    99+
    2023-05-31
    struts action ct
  • Python输入方式具体的实现方式有哪几种
    这期内容当中小编将会给大家带来有关Python输入方式具体的实现方式有哪几种,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python输入方式一个很多人都关心的问题,其实在实际中最实用的有三种输入方式。1...
    99+
    2023-06-17
  • Android实现View滑动的几种方式
    什么是View?实现View滑动的方式有哪些? 1. 关于View我们需要知道的 (1)什么是View?     Android中的View类是...
    99+
    2022-06-06
    view Android
  • redis实现限流的方式有几种
    redis实现限流的方式有几种?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。限流有许多种实现的方式,Redis具有很强大的功能,我用Red...
    99+
    2024-04-02
  • Pytorch可视化的几种实现方法
    目录一,利用 tensorboardX 可视化网络结构二,利用 vistom 可视化三,利用pytorchviz可视化网络结构一,利用 tensorboardX 可视化网络结构 参...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作