python - 为什么python是低级的?

标签 python c assembly low-level

<分区>

我对 python 生成有一个困惑

源码->>字节码-->python虚拟机

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

如果 c 不生成字节码,这就是它被视为低级语言的原因?因为 Assembly 也不生成字节码,所以它是低级的,因为它直接在机器上执行?

最佳答案

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

enter image description here

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

有python编译器吗?

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

关于python - 为什么python是低级的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39684430/

相关文章:

assembly - MIPS:lw(加载字)指令

python - pathlib.Path ('C:' ).absolute().is_absolute() 返回 False

python - 更改 Flask-Admin ListView 中的列顺序

python + urllib2 : streaming ends prematurely

python - 匹配两个单独列表中的子序列

c - 如何实现基于文件类型的文件系统?

c - 静态变量未初始化为零

c - 这个集会怎么可能?

c - 为什么 CGo 不能识别我在头文件中声明的结构?

gcc - 尝试使用具有多个替代约束的内联汇编在 amd64 中实现 128 位添加