Python的种类

  由于现在Python十分的火,市场潜力巨大,所以很多厂商都在开发自己的Python,这就导致Python的种类有很多,比如说CPython、JavaPython、IronPython、RubyPython.....  

  那大家就可能会问道:这么多种类的Python是都要学嘛、还是只要学其中的哪几个啊、那要是只学了其中的一小部分,将来要用到其他种类的该怎么办啊?

  其实呢,关于Python种类这一点大家不必慌张,因为这里有一个好消息要告诉大家:这些不同种类的Python都遵循同一个语言规则,所以我们现在只需要掌握一种即可(这里建议用CPython,因为它的效率较高且是最常用的一种Python);如果将来需要用到其他种类的Python——有一说一,这些种类其实与我们这些编程人员是无关的——就只需要下载一个JavaPython或者IronPython的解释器,然后再将以前用CPython写的代码copy一下就完事了。

  下面我们来简单看一下其中的三种Python:CPython、JavaPython和IronPython。

----CPython:C语言Python,最常用的一种Python

   ===》编译过程:Python解释器将用户写好的代码转换成Python能识别的字节码,然后直接将这个字节码交给C语言的解释器,继而产生操作系统能识别的机械码。

  

----JavaPython:Java语言Python

  ===》编译过程:Python解释器将用户写好的代码先转换成Python能识别的字节码,然后与Java解释器进行交互,转换成Java的字节码,接着在转换成C语言的字节码,最后才能产生操作系统能识别的机械码。

 

----IronPython:C#语言的Python

  ===》编译过程:Python解释器将用户写好的代码先转换成Python能识别的字节码,然后与C#解释器进行交互,转换成C#的字节码,接着在转换成C语言的字节码,最后才能产生操作系统能识别的机械码。

  

  我们可以看一看Python种类的示意图,这样更有助于我们理解:

  所以,大家可以看到,用CPython直接转换成C语言字节码的方式效率最高。

  然后在这里呢,我再给大家补充一种新的Python种类:pypy——简单来说就是用CPython开发的Python。

  大家也许会问:这有什么意义嘛?好,现在大家可以来想象一下CPython编译的过程:首先CPython将代码转换成Python能够识别的字节码,然后将这个字节码转换成C语言的字节码,最后交由C语言解释器将这一串字节码转换为机械码,给OS下达命令。这样,一次指令就完成了,但是如果我还想再多执行几次呢?那就每一次执行都先生成两种字节码,然后生成机械码,最后交给操作系统...大家有没有发现,其实字节码只是一个桥梁,我们最终的目的是得到机械码,所以pypy就帮我们实现了这一目标:第一次和CPython一样,不同的是,CPython会直接获取C语言解释器产生的机械码,以便后面再次调用的时候直接将机械码交给操作系统来执行。

  总的来说,pypy是效率最高的Python(第一次会很慢,以后非常快);CPython是最常用的Python

posted @ 2020-02-02 13:04  BNTU  阅读(537)  评论(0)    收藏  举报