byte code至于python解释器有关,python解释器相当于一台虚拟机,有自己的“机器码”!C语言编译之后,可直接在CPU上运行(当然需要OS的调度),而CPU本质上也是一行行地执行它的机器码,CPU就是一个机器码解释器。但python的byte code不会被编译成本地CPU的机器码(至少python解释器自己不会干,有第三方库可以干这个事情)。所以,是否会被编译成本地CPU的机器码,可能也是一个解释型语言和编译型语言的区别角度。
还有python的动态类型,和一切皆为对象。这些特性我认为都与其本质上是解释型的语言有关系。解释,一行行地将高级逻辑表达翻译成可以被执行的代码!编译,将代码翻译成CPU机器码!Shell脚本就是在做解释执行,其执行就是在解释后调用不同的程序来完成对应的动作,这个过程没有编译成CPU机器码的部分,其调用的子程序,都是已经编译好了的。
-- EOF --