为什么python是低级别的?

时间:2016-09-25 07:28:04

标签: python c assembly low-level

我有一个混乱,因为python generate

source code ->> byte code --> python virtual machine

c语言是否也生成字节码或直接编译?

如果c不生成字节代码,那么它被认为是低级语言的原因?因为Assembly也不生成字节代码,因为它直接在机器上执行,所以它的级别低,因为它是什么?

1 个答案:

答案 0 :(得分:5)

字节代码对于CPU来说并不自然,因此它们需要解释(通过称为解释器的CPU本机代码)。

enter image description here

你编写的python代码被编译成python字节码,它创建扩展名为.pyc的文件。如果编译,那么在编译步骤中创建的pyc文件中的字节码将由适当的虚拟机执行。

有没有python编译器?

PyPy它是python代码的JIT编译器。 Nuitka,Nuitka尝试将纯Python转换为字节码,但转换为机器代码(通过C ++编译器),同时在运行时使用libpython。另一个是ShedSkin。它将隐式静态类型的Python编译为C ++,独立程序或扩展模块。