huy*_*huy 9 c++ python interpreter bytecode cpython
我并没有在CPython的上下文中得到"字节码解释器"的概念.有人可以对整个画面有所了解吗?
这是否意味着CPython将编译并执行pyc文件(字节码文件?).那么编译py文件到pyc文件是什么?Jython与CPython有什么不同(除了它们用不同的语言实现).
我还在某处读过Python是C++的解释.它是否正确?这意味着什么?
我对Python仍然很陌生,所以如果我问一些愚蠢的问题,请原谅我......非常感谢你!
Ned*_*der 14
CPython是C语言中Python的实现.它是第一个实现,仍然是人们谈论Python时的主要实现.它将.py文件编译为.pyc文件..pyc文件包含字节码.CPython实现还解释了那些字节码.CPython不是用C++编写的,它是C.
从.py到.pyc的编译根据需要透明地进行.执行.py文件时,如果需要,它将首先编译为.pyc文件,然后解释.pyc文件.
Jython是不同的,因为(除了用Java而不是C实现)它将.py文件编译成.class文件,以便它们可以在JVM中执行.
Sea*_*lan 12
第一:CPython是一个字节码解释器的事实对你来说不应该是python的用户.继续编写代码,不要担心它是如何变成行动的.
所以,为了回答你的问题并满足你的好奇心,接下来会发生什么:CPython读取python源代码,并将其编译成python字节代码,存储在.pyc文件中.然后它使用字节码解释器执行该代码.这种设计将python的解析与执行分开,允许解释器的两个部分更简单.
Jython只是前半部分 - 它读取Python源代码,并输出Java字节码,然后由JVM解释.它与CPython具有相同的体系结构,有两个值得注意的差异:一:java字节码是标准化和记录的,而CPython字节码被认为是python内部的,并且可以随时更改.二:JVM比CPython解释器复杂得多.JVM拥有世界上最先进的JIT引擎之一,而CPython解释器非常简单.