1989年圣诞节:Guido von Rossum开始写Python语言的编译器。
1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语言实现的(后面又出现了Java和C#实现的版本Jython和IronPython,以及PyPy、Brython、Pyston等其他实现),可以调用C语言的库函数。在最早的版本中,Python已经提供了对“类”,“函数”,“异常处理”等构造块的支持,同时提供了“列表”和“字典”等核心数据类型,同时支持以模块为基础的拓展系统。
1994年1月:Python 1.0正式发布。
2000年10月16日:Python 2.0发布,增加了实现完整的垃圾回收,提供了对Unicode的支持。与此同时,Python的整个开发过程更加透明,社区对开发进度的影响逐渐扩大,生态圈开始慢慢形成。
2008年12月3日:Python 3.0发布,它并不完全兼容之前的Python代码,不过因为目前还有不少公司在项目和运维中使用Python 2.x版本,所以Python 3.x的很多新特性后来也被移植到Python 2.6/2.7版本中。
目前我们使用的Python 3.7的版本是在2018年发布的,Python的版本号分为三段,形如A.B.C。其中A表示大版本号,一般当整体重写,或出现不向后兼容的改变时,增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(如修复了某个Bug),只要有修改就增加C。如果对Python的历史感兴趣,可以查看一篇名为《Python简史》的博文。
Python语言拥有诸多优点,其中有几个优点特别显著
python语言相对于其他编程语言来说,更加容易学习。它注重的是如何解决问题,而不是编程语言的语法和结构。因此,已经有越来越多的初学者选择Python语言作为编程的入门语言。例如:在浙江省2017年高中信息技术改革中,《算法与程序设计》课程将使用Python语言替换原有的VB语言。
Python语言力求代码简洁、优美。在Python语言中,采用缩进表示代码块,通过减少无用的大括号,去除语句末尾的分号等视觉杂讯,使得代码的可读性显著提高。阅读一段良好的 Python 程序就感觉像是在读英语一样,它使你能够专注于解决问题,而不用太纠结编程语言本身的语法。
Python语言号称自带电池(Battery Included),寓意是 Python 语言的类库非常的全面,包含了解决各种问题的类库。无论实现什么功能,都有现成的类库可以使用。如果一个功能比较特殊,标准库没有提供相应的支持,那么,很大概率也会有相应的开源项目提供了类似的功能。合理使用 Python 的类库和开源项目,能够快速的实现功能,满足业务需求。
Python 的各个优点是相辅相成的。例如,Python 语言因为有了丰富强大的类库,所以,Python 的开发效率能够显著提高。相对于 C、C++ 和 Java 等编译语言,Python 开发者的效率提高了数倍。在实现相同的功能时,Python 代码的文件往往只有 C、C++ 和 Java 代码的 1/5~1/3。虽然 Python 语言拥有很多吸引人的特性,但是,各大互联网公司广泛使用 Python 语言,很大程度上是因为 Python 语言开发效率高这个特点。开发效率高的语言,能够更好的满足互联网快速迭代的需求,因此,Python 语言在互联网公司使用非常广泛。
Python 语言的另一大优点就是应用领域广泛,工程师可以使用 Python 做很多的事情。例如,Web 开发、网络编程、自动化运维、Linux 系统管理、数据分析、科学计算、人工智能、机器学习等等。由于Python语言介于脚本语言和系统语言之间,所以我们可以根据需要将它当作一门脚本语言来编写脚本,也可以将它当作一个系统语言来编写服务。
1.执行效率稍低,因此计算密集型任务可以由C/C++编写。
2.代码无法加密,但是现在很多公司都不销售卖软件而是销售服务,这个问题会被弱化。
3.在开发时可以选择的框架太多(如Web框架就有100多个),有选择的地方就有错误。
作为一种通用编程语言,Python的应用场景几乎是无限的。作为一种通用编程语言,Python的应用场景几乎是无限的。我们可以在任何场景使用Python,例如:从网站和游戏开发,到机器人和航天飞机控制等。从Python官网给出的例子来看,Python有以下几个主要的应用场景:
Python语言能够满足快速迭代的需求,非常适合互联网公司的Web开发应用场景。Python用作Web开发已有十多年的历史,在这个过程中,涌现出了很多优秀的Web开发框架,如Django、Pyramid、Bottle、Tornado、Flask和web2py。许多知名网站都是使用Python语言开发,如豆瓣、知乎、Instagram、Pinterest、Dropbox等。这一方面说明了Python作为Web开发的受欢迎程度,另一方面也说明Python语言用作Web开发经受住了大规模用户并发访问的考验。
我们可以使用Python标准库的tkInter模块进行GUI编程,也可以使用PyGObject、PyQt、PySide、Kivy、wxPython等编写GUI应用程序。使用Python程序可以轻松地开发出一个可移植的应用程序。例如,TKinter GUI可以不做任何改变就能运行在Windows、X Windows和Mac OS等平台上。
Python语言已经逐渐取代MATLAB成为科研人员最喜爱的数值计算和科学计算的编程语言。Python标准库虽然没有提供数值计算和科学计算的功能,但是,Python生态中有SciPy、NumPy和Pandas等非常好用的开源项目。
Python简单易用、语法优美,特别适合系统管理的应用场景。著名的开源云计算平台OpenStack就是使用Python语言开发的。除此之外,Python生态中还有Ansible、Salt等自动化部署工具。这么多使用广泛、功能强大的系统管理工具都使用Python语言开发,也反映了Python语言非常适合系统管理的事实。
Python的应用领域非常广泛,远比我们这里列出的要多得多,例如,可以使用pygame开发游戏,使用PIL库处理图片,使用NLTK包进行自然语言分析等。
这只是我的一些浅薄的见解,望多指教!