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

标签:Python,编译,器
0
投稿

猜你喜欢

  • “mailto”的六则应用技巧

    2008-08-29 13:16:00
  • 删除目录下相同文件的python代码(逐级优化)

    2023-08-02 17:25:10
  • Python实现获取汉字偏旁部首的方法示例【测试可用】

    2022-10-26 16:42:16
  • 使用mypy对python程序进行静态检查

    2022-06-17 18:10:55
  • 实例讲解MySQL中乐观锁和悲观锁

    2024-01-19 00:46:35
  • asp的command对象的使用

    2008-06-23 13:03:00
  • 解决在pycharm中显示额外的 figure 窗口问题

    2021-11-29 01:00:26
  • Python时间差中seconds和total_seconds的区别详解

    2022-10-04 15:00:49
  • python中dir函数用法分析

    2023-09-05 10:23:09
  • 详解JavaScript基于面向对象之继承

    2024-04-29 13:23:06
  • Python decorator拦截器代码实例解析

    2022-04-07 11:03:47
  • Mysql字符集和排序规则详解

    2024-01-17 05:27:46
  • 解决tensorflow 释放图,删除变量问题

    2023-08-10 09:42:47
  • vue更多筛选项小组件使用详解

    2023-07-02 17:06:01
  • Python利用Scrapy框架爬取豆瓣电影示例

    2022-04-30 15:16:17
  • Python动态配置管理Dynaconf的实现示例详解

    2021-01-24 19:35:06
  • bootstrap自定义样式之bootstrap实现侧边导航栏功能

    2023-09-06 20:41:36
  • 将string类型的数据类型转换为spark rdd时报错的解决方法

    2023-05-03 00:35:12
  • WEB前端开发高性能优化之JavaScript优化细节

    2009-06-10 14:38:00
  • 怎么样才能设计出漂亮的网页?

    2008-10-07 16:57:00
  • asp之家 网络编程 m.aspxhome.com