• Pyhton的发展历程


    Python的由来

    在1989年12月时,吉多·范罗苏姆——龟叔,想寻找一门“课余”编程项目来打发圣诞节前后的时间。Guido决定为当时正构思的一个新的脚本语言写一个解释器,它是ABC语言(教学语言、是专门为非专业程序员设计的。但是不成功)的后代,对UNIX/C程序员会有吸引力。作为蒙提·派森的飞行马戏团的狂热爱好者,他选择了Python作为项目的标题,使用C进行开发。

    1991年 发布Python第一个版本。

    Python的现况

    截止2016年7月,Python在TIOBE流行编程语言排行榜,已经上升到第四名。Python呈上升趋势,反映出Python的应用越来越广泛。

    为什么使用Python的人悦来越多?

    Python被应用在众多领域:
    数据分析: 2016/2月/11,美国科学家宣布发现引力波,分析观测30年的数据。分析引力波数据的Python包:GWPY
    云计算 : 典型应用——Python开发的OpenStack
    WEB开发: 众多优秀的WEB框架,Django、flask、 tornado
    科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas。
    系统运维: 运维人员必备,slatstack(系统自动化配置和管理工具),Ansible(自动化运维工具)
    图形开发: wxPython、PyQT、TKinter
    ……………等等

    使用Python的企业
    Google - Google Groups、Gmail、Google Maps、AlphaGo等,Google App Engine支持python作为开发语言
    NASA - 美国宇航局,从1994年起把python作为主要开发语言
    Dropbox - 美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载
    豆瓣网 - 图书、唱片、电影等文化产品的资料数据库网站
    BitTorrent - bt下载软件客户端
    gedit - Linux平台的文本编辑器
    GIMP - Linux平台的图像处理软件(Linux下的PS)
    知乎(国外的Quora) - 社交问答网站,国内最大的问答社区,通过Python开发
    Autodesk Maya - 3D建模软件,支持python作为脚本语言
    YouTube:世界上最大的视频网站YouTube就是用Python开发的
    Facebook:大量的基础库均通过Python实现的
    Redhat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的

    除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。
    更多案例:https://www.python.org/about/success/

    Python的优缺点

    先看优点

    1.  Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,
    初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。

    2. 开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有
    相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。

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

    4. 可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行

    5. 可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。

    6. 可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能

    缺点:

    1. 代码不能加密
      因为PYTHON是解释性语言,它的源码都是以明文形式存放的,不过我不认为这算是一个缺点,如果你的项目要求源代码必须是加密的,那你一开始就不应该用Python来去实现。


    2. 多线程支持不好——等讲线程的时候在详细说


    3. Python慢

      Python相对C语言确实慢很多,但其实这里所指的速度慢在大多数时候我们是无法感知的,比如说,是用C语言程序开发了一个程序,执行需要花0.01秒,使用Python实现同样功能的程序,需要花0.1秒的时间,虽然相差10倍,但是我们基本是感知不到的。更多的时候,程序慢是程序员实现功能方式导致的。就好像开罐头的时候,有的人用牙咬,有的人用工具,这样两个人的效率相比起来就差了很多。

    Python解释器将程序的读入内存编译成字节码字节码转换为机器码底层执行



    Python解释器
    Cpython
    Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。

    Jyhton
    Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。

    IronPython
    Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)

    PyPy(特殊)
    Python实现的Python,将Python的字节码字节码再编译成机器码。

    RubyPython、Brython ...

    Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。



    Python 发展史
    1989年,为了打发圣诞节假期,Guido开始写Python语言的编译器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。
    1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。


    Python 1.0 - January 1994 增加了 lambda, map, filter and reduce.
    1999年 Python的web框架之祖——Zope 1发布
    Python 2.0 - 2000/10/16,加入了内存回收机制,构成了现在Python语言框架的基础
    Python 2.4 – 2004/11/30, 同年目前最流行的WEB框架Django 诞生
    Python 2.5 - 2006/09/19
    Python 2.6 - 2008/10/1
    Python 2.7 - 2010/07/03

    Python 3.0 - 2008/12/03
    Python 3.1 - 2009/06/27
    Python 3.2 - 2011/02/20
    Python 3.3 - 2012/09/29
    Python 3.4 - 2014/03/16
    Python 3.5 - 2015/09/13

    2014年11月,Python2.7将在2020年停止支持的消息被发布,并且不会在发布2.8版本,建议用户尽可能的迁移到3.4+

    Python最初发布时,在设计上有一些缺陷,比如Unicode标准晚于Python出现,所以一直以来对Unicode的支持并不完全,而ASCII编码支持的字符有限。例: 对中文支持不好
    Python3相对Python早期的版本是一个较大的升级,Py3在设计的时候没有考虑向下兼容,所以很多早期版本的Python的程序无法再Py3上运行。
    为了照顾早期的版本,推出过渡版本2.6——基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,允许使用部分Python 3.0的语法与函数。
    2010年继续推出了兼容版本2.7,大量Python3的特性被反向迁移到了Python2.7
    2.7比2.6进步非常多,同时拥有大量3中的特性和库,并且照顾了原有的Python开发人群


    Python2 还是 Python3 ?

    py2.7是2.x系列的最后一个版本,已经停止开发,不再增加新功能。2020年终止支持。

    所有的最新的标准库的更新改进,只会在3.x的版本里出现。

    龟叔决定清理Python2.x ,并且不再兼容旧版本。 最大的一个改变就是使用Unicode作为默认编码。Pyhton2.x中直接写中文会报错,Python3中可以直接写中文了。

    从开源项目看,支持py3的比例已经大大提高,知名的项目一般都支持py2.7和py3+。

    py3比py2更规范统一、去掉了没必要的关键字

    Python3.x还在持续改进

    所以我们还是推荐大家使用Python3.x。

  • 相关阅读:
    yii2框架随笔27
    yii2框架随笔26
    yii2框架随笔25
    yii2框架随笔24
    yii2框架随笔23
    yii2框架随笔21
    yii2框架随笔20
    yii2框架随笔19
    yii2源码学习笔记(十五)
    yii2源码学习笔记(十四)
  • 原文地址:https://www.cnblogs.com/resn/p/5775735.html
Copyright © 2020-2023  润新知