解释型语言/编译型语言
计算机不能直接理解高级语言,只能直接理解机器语言。
只有把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。
翻译的方式有两种
- 编译。
- 解释。
对于编译型语言而言,编译生成了目标文件,而这个目标文件是针对特定的 CPU 体系的,为 ARM 生成的目标文件,不能被用于 MIPS 的 CPU。这段代码在编译过程中就已经被翻译成了目标 CPU 指令,所以,如果这个程序需要在另外一种 CPU 上面运行,这个代码就必须重新编译。
对于解释型语言而言,同样也可能存在某种编译过程,但它们编译生成的通常是一种『平台无关』的中间代码,这种代码一般不是针对特定的 CPU 平台,它们是在运行过程中才被翻译成目标 CPU 指令的。因而,在 ARM CPU 上能执行,换到 MIPS 也能执行,换到 X86 也能执行,不需要重新对源代码进行编译。
Python优点
简单、优雅、明确。
强大的模块三方库。
易移植。
面向对象。
可扩展(C\JAVA\C#/…)。
Python缺点
代码不能加密。
速度慢。
Python编程风格
强制缩进规范化。
缩进统一。
Python解释器
解释器是一种让其他程序运行起来的程序。
解释器是代码与机器的计算机硬件之间的软件逻辑层。
CPython
CPython解释器是用C语言开发的。
在命令行下运行python
就是启动CPython解释器。
CPython用>>>
作为提示符。
IPython
IPython是基于CPython之上的一个交互式解释器。
IPython用In [序号]:
作为提示符。
PyPy
PyPy解释器的目标是执行速度。
PyPy采用JIT技术
,对Python代码进行动态编译,提高Python代码的执行速度。
Jython
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
IronPython
IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。