【发布时间】:2015-04-27 21:27:37
【问题描述】:
Python 是一种动态的解释型(字节码编译型)语言
我知道解释器是什么,也知道字节码是什么,但两者似乎不适合。在doing some reading 之后,基本 Python 源代码在解释之前自动编译变得更清楚了;但出现了一些新问题。
使用Python Interpreter 时不会发生编译吗?如果有,什么时候?例如,如果您只是在命令行中键入代码,并且每次按 Enter 时都会运行,那么编译器什么时候有机会完成它的工作?
同样在上面链接到的问题中,@delnan 给出了一个相当广泛的编译器定义
更一般地说,编译器是将程序转换为 将一种编程语言转化为另一种编程中的程序 语言...JIT 编译器在运行时编译为本机代码
我想我的问题是:解释器和自动编译器有什么区别?稍微细化一下这个问题,如果 Python 是编译的,为什么不一直编译成机器码(或汇编,因为我知道编写可以产生纯机器码的编译器很困难)?
【问题讨论】:
-
自动编译器是什么意思?
-
@igon 好吧,我红色 Python 有一个编译器,但在创建用 Python 编写的程序时,我肯定明确使用了它。 “Python 有一个编译器!你只是没有注意到它,因为它会自动运行。”来自programmers.stackexchange.com/questions/136942/…。我的观点是,这和口译员不一样吗?
标签: python compilation language-agnostic interpreter