Python这门语言相较于其他的语言是更容易理解的,但是相比较于其他的语言的运行速度是慢的。
那么这是为什么呢?
首先先和大家讲一下编译器和解释器是什么。
计算机不能直接理解任何除机器语言以外的语言,这里机器语言也就是(0、1),所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。将其他语言翻译成机器语言的工具,被称为编译器,编译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译时间点的不同。当编译器以解释方式运行的时候,也称之为解释器,同理了当编译器以编译方式运行的时候,也称之为编译器。
那么现在就这种编译时运行的原理:
就如同上面的这样图片,先说一下编译性语言,比如C、C++等属于编译性语言,首先开发者在开发环境内完成一个程序的源代码后,然后把这个源码统一交给编译器,然后由编译器一起进行翻译成机器语言并且生成一个可执行文件,当我们要执行这个文件时,我们只需双击图标。(比如C语言的可执行文件就是以xxx.h,C++的可执行文件就是以xxx.cpp)。
C++进行编写的1+2=3的程序
接下来就说一说解释性语言,当然编译性语言和解释性语言并没有太大的差别,都是首先由开发者在开发环境内完成一个程序的源代码后,假如我们现在写了三行代码,
Python编写的1+2=3的程序
就如上图所示,使用Python编写了一个十分简单的1+2=3的程序,就用了三行代码完成,现在就来解释一下解释性语言运行的的原理,首先解释性语言是逐句的进行解释,把这三句代码丢给解释器,解释器按照从上到下的顺序进行逐句的解释,也就是先把a=1解释成机器语言,然后再把解释成的机器语言丢给CPU去执行,CPU执行的同时解释器再把b=2解释成机器语言,依次类推直到程序结束。这就是解释性语言的特点。
由此可见编译性语言是统一编译,一次性执行;而解释器语言是翻译一行执行一行。
正是由于这样的存在,才会使Python的运行时间变慢。因为,当我们需要去执行一个文件时,CPU只需去调用生成的可执行文件,此时就不需要进行编译了,而对于解释性语言,当我们需要去执行一个文件时CPU需要去翻译一行执行一行。因此Python的运行速度就变慢了。
当然这样也有好处,就是Python可以快平台运行,也就是假如我们是在Windows操作平台下用Python编写的程序,可以运行。到了其他操作平台如Linux、Mac也可以运行;但是我们在Windows操作平台下编译性编写的程序,可以运行。但是到了其他操作平台如Linux、Mac就不可以运行了,这时就需要我们重新的进行编写。