前言
- 最近因为一些原因有重新拾起了原本就二半吊的pyhton
- 但是在拾起的过程中做了很多无用功
- 因此在这里稍微整理下 方便以后查阅
运行速度
语言 | 类型 | 运行速度 | 代码量 |
C/C++ | 编译成机器码 | 非常快 | 非常多 |
Java | 编译成字节码 | 快 | 多 |
Python | 解释执行 | 慢 | 少 |
解释器
- 当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文件。
- 计算机并不能知道文件里面的内容的意义。
- 为了让计算机理解,就需要Python解释器去将文件内容翻译成计算机能理解的内容。
CPython
- 当我们从
Python
官方网站下载并安装好Python 3.x
后,我们就直接获得了一个官方版本的解释器:CPython
。这个解释器是用C语言开发的,所以叫CPython。- 在命令行下运行python就是启动CPython解释器。
CPython
是使用最广的Python解释器。
IPython
IPython
是基于CPython之上的一个交互式解释器- 也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。
- 好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE
。- CPython用>>>作为提示符,
而IPython用In [序号]:作为提示符。
PyPy
1.
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,确认安装成功了python既可使用CPython解释器。
- 如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。