python是一种解释型编程语言吗,python编译型语言和解释型语言的区别

  python是一种解释型编程语言吗,python编译型语言和解释型语言的区别

  Python是一种解释性编程语言,所以它具有解释性语言的运行机制。

  计算机程序实际上是计算机指令的集合。真正能驱动机器运行的是机器指令,但普通开发者直接写机器指令是不现实的,于是出现了计算机高级语言。高级语言允许用自然语言(通常是英语)编程,但高级语言的程序最终必须翻译成机器指令才能执行。

  根据程序的执行方式,高级语言可分为编译程序和解释程序。

  编译语言

  编译语言(Compiled language)是指使用专用编译器,将特定平台(操作系统)的高级语言源代码一次性“翻译”成平台硬件可执行的机器语言(包括机器指令和操作数),并封装成平台可识别的可执行程序格式。这个转换过程称为编译。编译后的可执行程序可以在没有开发环境的特定平台上独立运行。编译器可以理解为复杂的计算机程序,它可以接受用高级语言编写的程序,并将其翻译成计算机机器。

  语言表达的等效程序。

  某些程序编译后,可能需要链接其他编译后的目标代码,即组装两个以上的目标代码模块,生成最终的可执行程序,实现底层代码重用。

  因为编译语言是一次性编译成机器语言的,可以脱离开发环境独立运行,通常运行起来比较高效。但由于编译语言程序是在特定平台上编译成机器码的,所以编译后的可执行程序无法移植到其他平台上。如果需要移植,必须将源代码复制到特定的平台上,针对特定的平台进行修改,至少要由特定平台上的编译器重新编译。

  半编译语言

  另外还有一种伪编译语言,比如Visual Basic,这是一种半编译语言,但不是真正的编译语言。首先编译成P-code代码(中间代码),解释引擎封装在可执行程序中。当程序运行时,P-code代码将被解析成真正的二进制代码。

  从表面上看,Visual Basic可以编译生成一个可执行的EXE文件,这个EXE文件可以运行在特定的平台上,不需要开发环境,很像编译语言。其实在这个EXE文件中,既有程序的启动代码,也有链接解释器的代码,而这部分代码负责启动Visual Basic解释器,然后执行Visual Basic代码。

  解释性语言

  解释语言是指用专门的解释器把源程序逐行解释成特定平台的机器代码并立即执行的语言。

  解释性语言通常不会作为一个整体进行编译和链接。解释性语言相当于把编译语言中的编译和解释过程混合在一起,同时完成。

  这样就可以认为,每执行一次解释语言的程序,就需要编译一次。因此,解释语言中的程序通常是低效的,并且不能独立于解释器运行。但是,解释性语言有一个优点,就是容易跨平台。只需要在特定的平台上提供一个解释器,每个特定平台上的解释器负责将源程序解释成特定平台上的机器指令。也就是说,解释性语言可以很容易地移植到源程序级别,但这是以牺牲程序执行效率为代价的。

  编译语言PK解释语言

  编译语言和解释语言的对比如下图所示。

  有了上图的帮助,就不难理解编译语言和解释语言的区别在于,编译是对高级语言程序的一次性翻译。这样做的好处是,源程序一旦翻译完成,就可以重复运行,以后就不需要编译器和源代码了;但是如果使用解释器的话,每一次高级语言程序运行都需要源程序和解释器的帮助。它最大的优点是程序具有良好的可移植性。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: