知行编程网知行编程网  2022-09-26 12:30 知行编程网 隐藏边栏  303 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python代码运行需要编译吗的相关知识,包括python怎么运行代码,以及python不用编译吗这些编程知识,希望对大家有参考作用。

python代码是否需要编译才能运行?

是否有人在讨论是否应该编译或解释 Python 代码?这个问题也可以换一种说法:Python是编译语言还是解释语言?回答这个问题

在此之前,让我们弄清楚什么是编译语言,什么是解释语言。

所谓编译执行是指源代码经过编译器编译处理后生成目标机器码,即机器可以直接运行的二进制代码,下次不需要重新编译跑。但它

它是针对特定CPU系统的,而这些目标代码只能在特定平台上执行。如果程序需要在另一个 CPU 上运行,则必须重新编译代码。

它不可移植,但执行速度很快。 C、C++等语言都是编译语言。

解释语言在代码运行过程中逐行翻译成目标机器代码。下次执行时,还是需要逐行解释。我们可以简单的认为Java和Python都是解释的

语言。

编译型相当于厨师直接准备一桌菜,顾客直接上门吃饭,而口译型就像吃火锅,厨师洗碗,顾客自己做饭吃,这提高了效率

都说解释型语言自然不如编译型语言。当然,也不是绝对的。 JIT的效率非常高。

以上是编译语言和解释语言的一个简单粗暴的区分,但是Python(这里主要是CPython)并不是严格意义上的解释语言,因为

在运行 Python 代码之前,它会被编译(翻译)成中间代码,每个 .py 文件都会被转换成一个 .pyc 文件。 .pyc 是一个字节码文件,它独立于平台。

相关的中间代码无论放在Windows还是Linux平台都可以执行,虚拟机在运行时会将字节码逐行翻译成目标代码。

当我们安装Python的时候,会有一个Python.exe文件,就是Python解释器。你编写的每一行 Python 代码都由它执行。解释器由

由编译器和虚拟机组成。编译器负责将源代码转换成字节码文件,虚拟机负责执行字节码。因此,解释型语言实际上是经过编译的。

但是这个编译过程并不是直接生成目标代码,而是中间代码(字节码),然后通过虚拟机逐行解释和执行字节码。


总结

Python代码会先编写一个字节码文件,然后虚拟机会逐行解释,将每一行字节码代码翻译成目标指令供CPU执行。

推荐学习《
》。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享