First-python介绍

1、python2与python3的区别php

  python2:html

      一、臃肿,源码的重复量比较多。java

      二、语法不清晰,其中掺杂了c、php、java等等的一些陋习。python

      三、不支持中文,需在程序首行引入‘-*-encoding utf-8 -*-’算法

      四、语法:用户交互:raw_input编程

      五、print输出时能够不加() 浏览器

      六、能够经过参数--enable-unicode=ucs2或--enable-unicode=ucs4指定使用2个字节或4个字节表示一个unicode字符  网络

      七、xrange(2.7之后版本添加了range)多线程

      八、在继承中经典类与新式类并存编程语言

      九、在继承关系的类中深度优先

  python3:

      一、几乎是重构后的源码,比较优美、清晰、简单。

      二、默认支持中文

      三、语法:用户交互:input

      四、print输出时必须加()

      五、默认使用ucs4表示一个unicode字符

      六、range

      七、在继承中新式类

      八、在继承关系中广度优先

2、编程语言的分类

  编译型:一次性将全部的程序编译成二进制文件,而后运行。

         优势:运行速度快。

         缺点:开发效率低,不能跨平台。

  解释型:程序运行时逐行解释并运行。

         优势:调试代码方便,开发效率高,而且能够跨平台。

         缺点:运行速度慢。

3、python的优缺点

  优势:

     一、python的定位是 "简单" 、"清晰" 、"优美",因此Python程序看上去老是简单易懂,初学者学Python,不但入门容易,并且未来深刻下去,能够编写那些很是很是复杂

        的程序。

     二、开发效率高,Python有很是强大的第三方库,基本上你想经过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上

        再进行开发,大大下降开发周期,避免重复造轮子。

     三、高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节

     四、可移植性————因为它的开源本质,Python已经被移植在许多平台上(通过改动使它可以工 做在不一样平台上)。若是你当心地避免使用依赖于系统的特性,那么你

        的全部Python程序无需修改就几乎能够在市场上全部的系统平台上运行

     五、可扩展性————若是你须要你的一段关键代码运行得更快或者但愿某些算法不公开,你能够把你的部分程序用C或C++编写,而后在你的Python程序中使用它们。

     六、可嵌入性————你能够把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

  缺点:

        一、速度慢,Python 的运行速度相比C语言确实慢不少,跟JAVA相比也要慢一些,所以这也是不少所谓的大牛不屑于使用Python的主要缘由,但其实这里所指的运行速

        度慢在大 多数状况下用户是没法直接感知到的,必须借助测试工具才能体现出来,好比你用C运一个程序花了0.01s,用Python是0.1s,这样C语言直接比Python快了10

        倍,算是很是夸张了, 可是你是没法直接经过肉眼感知的,由于一个正常人所能感知的时间最小单位是0.15-0.4s左右,哈哈。其实在大多数状况下Python已经彻底可

        以知足你对程序速度的要求,除非你要写对速度要求极高的搜索引擎等,这种状况下,固然仍是建议你用C去实现的。

        二、代码不能加密,由于PYTHON是解释性语言,它的源码都是以名文形式存放的,不过我不认为这算是一个缺点,若是你的项目要求源代码必须是加密的,那你一开始

        就不该该用Python来去实现。

      三、线程不能利用多CPU问题,这是Python被人诟病最多的一个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,

        使得任什么时候刻仅有一个线程在执行,Python的线程是操做系统的原生线程。在Linux上为pthread,在Windows上为Win thread,彻底由操做系统调度线程的执行。一个

        python解释器进程内有一条主线程,以及多条用户程序的执行线程。即便在多核CPU平台上,因为GIL的存在,因此禁止多线程的并行执行。

 

  因为整个Python语言从规范到解释器都是开源的,因此理论上,只要水平够高,任何人均可以编写Python解释器来执行Python代码(固然难度很大)。事实上,确实存在多种

  Python解释器。

4、python的种类

  CPython

  当咱们从Python官方网站下载并安装好Python 3.6后,咱们就直接得到了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,因此叫CPython。在命令行下运行

  python就是启动CPython解释器。

  CPython是使用最广的Python解释器。教程的全部代码也都在CPython下执行。

  IPython

  IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所加强,可是执行Python代码的功能和CPython是彻底同样的。比如不少国产浏览器

  虽然外观不一样,但内核其实都是调用了IE。

  CPython用>>>做为提示符,而IPython用In [序号]:做为提示符。

  PyPy

  PyPy是另外一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),因此能够显著提升Python代码的执行速度。

  绝大部分Python代码均可以在PyPy下运行,可是PyPy和CPython有一些是不一样的,这就致使相同的Python代码在两种解释器下执行可能会有不一样的结果。若是你的代码要放到

  PyPy下执行,就须要了解PyPy和CPython的不一样点

  Jython

  Jython是运行在Java平台上的Python解释器,能够直接把Python代码编译成Java字节码执行。

  IronPython

  IronPython和Jython相似,只不过IronPython是运行在微软.Net平台上的Python解释器,能够直接把Python代码编译成.Net的字节码。

  小结:

  Python的解释器不少,但使用最普遍的仍是CPython。若是要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是经过网络调用来交互,确保各程序之间的独立性。

相关文章
相关标签/搜索