是Python解释,编译,还是两者兼而有之?

是Python解释,编译,还是两者兼而有之?

根据我的理解:

一个解释语言是高级语言运行和由解释器执行(程序将高级语言转换成机器代码,然后执行)在旅途中; 它一次处理一点程序。

编译语言是一种高级语言,其代码由编译器,然后通过一个执行器(另一个程序用于运行代码)执行(其高级语言转换成机器代码的程序)首先被转换为机器代码。

如果我的定义错了,请纠正我。

现在回到Python,我对此感到困惑。在任何地方,您都了解到Python是一种解释型语言,但它被解释为某些中间代码(如字节代码或IL)而不是机器代码。那么哪个程序执行IM代码?请帮助我理解如何处理和运行Python脚本。


繁星淼淼
浏览 520回答 3
3回答

鸿蒙传说

CPU只能理解机器代码。对于解释程序,解释器的最终目标是将程序代码“解释”为机器代码。但是,通常现代解释语言不会直接解释人类代码,因为它效率太低。Python解释器首先读取人工代码并在将其解释为机器代码之前将其优化为一些直接代码。这就是为什么你总是需要另一个程序来运行Python脚本,这与C ++不同,你可以直接运行可执行文件。例如c:\ Python27 \ python.exe或/ usr / bin / python。

冉冉说

答案取决于正在使用的python实现。如果你正在使用让我们说CPython(python的标准实现)或Jython(目标是与java编程语言集成)它首先被翻译成字节码,并且根据你正在使用的python的实现,这个bycode被定向到相应的用于解释的虚拟机。用于CPython的PVM(Python虚拟机)和用于Jython的JVM(Java虚拟机)。但是让我们假设您正在使用PyPy,这是另一个标准的CPython实现。它将使用即时编译器。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python