我真的不明白“字节码解释器”的概念,在CPython的背景下。 有人可以提供一些线索在整个画面?
这是否意味着CPython的编译和执行PYC文件(字节码文件吗?)。 那么什么编译PY文件PYC文件? 又是怎样的Jython不同于CPython的(除非他们用不同的语言来实现)。
我也读的地方,Python是C ++的诠释。 它是否正确? 又是什么意思呢?
我还是很新的Python的,所以请原谅我,如果我问愚蠢的问题...谢谢你这么多!
我真的不明白“字节码解释器”的概念,在CPython的背景下。 有人可以提供一些线索在整个画面?
这是否意味着CPython的编译和执行PYC文件(字节码文件吗?)。 那么什么编译PY文件PYC文件? 又是怎样的Jython不同于CPython的(除非他们用不同的语言来实现)。
我也读的地方,Python是C ++的诠释。 它是否正确? 又是什么意思呢?
我还是很新的Python的,所以请原谅我,如果我问愚蠢的问题...谢谢你这么多!
CPython的是Python的实施C.这是第一次执行,并且仍然是主要的一个,当他们谈论的Python的人的意思。 它编译.py文件到pyc文件。 pyc文件包含字节码。 CPython的实现还解释这些字节码。 CPython的未用C ++编写,它是C.
从到的.py的.pyc文件汇编需要透明的发生。 当你执行一个.py文件,它会先被编译成.pyc文件文件如果需要的话,那么.pyc文件的文件将被解释。
Jython是不同的,因为(除了在Java而不是C正在实施)汇编.py文件到.class文件,使他们能够在JVM中执行。
首先:事实上,CPython的是一个字节码解释器不应该的问题给您的Python用户。 来吧,写代码,而不必担心它是如何转化为行动。
因此,要回答你的问题,满足您的好奇心,会出现以下情况:CPython的读取Python源代码,并将其编译成字节的Python代码,其存储在.pyc文件文件。 然后执行使用字节码解释器的代码。 这种设计蟒蛇的解析从执行分离,使解释的两个部分更简单。
Jython是仅前半部分 - 它读取Python源,并输出Java字节代码,然后将其由JVM解释。 这是相同的架构CPython的,有两个显着的区别:一:Java字节码是标准化和记录,而CPython的字节码被认为是内部的蟒蛇,并且可以随时更改。 二:JVM是一大堆比CPython的解释更为复杂。 JVM有世界上最先进的JIT引擎之一,而CPython的解释很简单。
CPython的是两个字节码编译器,解释器和(虚拟机)。
它会自动检测,如果没有现有的预编译的文件(.pyc文件)存在,编译代码,并保存它。