python的运行机制和版本区别

【自取】最近整理的,有需要可以领取学习:

解释型语言和编译型

首先,我们都是用高级语言编程的(除了那些编写汇编语言和机器语言的人)。计算机不能直接理解高级语言,只能理解和运行机器语言,因此有必要将高级语言翻译成机器语言。计算机可以运行用高级语言编写的程序。

[En]

First of all, we are all programmed in high-level languages (except for those who write assembly and machine languages). Computers cannot directly understand high-level languages and can only understand and run machine languages, so it is necessary to translate high-level languages into machine languages. computers can run programs written in high-level languages.

说到翻译,其实有两种翻译方式,一种是编译,一种是口译。这两种方式只是在翻译的时间上有所不同。

[En]

When it comes to translation, there are actually two ways of translation, one is compilation, the other is interpretation. The two ways are just different in the time of translation.

用编译型语言写的程序执行之前,需要一个专门的编译过程,通过编译系统(不仅仅只是通过编译器,编译器只是编译系统的一部分)把高级语言翻译成机器语言,把源高级程序编译成为机器语言文件,比如windows下的exe文件。以后就可以直接运行而不需要编译了,因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高,但也不能一概而论,部分解释型语言的解释器通过在运行时动态优化代码,甚至能够使解释型语言的性能超过编译型语言。

解释则不同,解释型语言编写的程序不需要编译。解释型语言在运行的时候才翻译,比如VB语言,在执行的时候,专门有一个解释器能够将VB语言翻译成机器语言,每个语句都是执行的时候才翻译。这样解释型语言每执行一次就要翻译一次,效率比较低。

编译型与解释型,两者各有利弊。前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是编译语言,而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等。

Python是解释型的还是编译型的?

这是个Python新人都会迷惑的问题。

首先需要明了的是Python只是一个接口。有一个关于Python应该做什么以及怎么做的具体说明(就像其他任何接口一样 ),并且对应的有很多具体的实现(也像其他接口一样)。

第二件要知道的事情是,“解释的”和“编译的”是特定的实现特性,而不是接口特性。

[En]

The second thing to know is that “interpretive” and “compiled” are specific implementation features, not interface features.

因此,问题本身并没有得到很好的组织。

[En]

Therefore, the problem itself is not well organized.

Python是解释型还是编译型的?这个问题真的没有组织好。

对使用最广泛的实现(CPython:用C实现的,通常简单的说成Python,若你不知道我所说的这些,那很肯能你在使用的就是CPython)而言,这个问题的答案是: 解释型,但带有一些编译型特征。CPython把Python源码 编译*成字节码,之后再解释这些字节码,执行之。

*注意:这个编译不是通常意义上的编译。通常我们说的编译,是指把高级语言代码转换成机器码。但这里的编译实际上是另一种意义上的编译。(译者,这句话不是很懂,原文是 it is a ‘compilation’ of sorts,不知作何解,求教各位读者。)

仔细看看上面的答案,这将帮助我们理解本文后面将讨论的几个概念。

[En]

Take a closer look at the answers above, which will help us understand several concepts that will be discussed later in this article.

Original: https://www.cnblogs.com/chenhuan001/p/8004891.html
Author: chenhuan001
Title: python的运行机制和版本区别

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/7811/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

发表回复

登录后才能评论
免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部