python诞生:
- Python的创始人吉多·范罗苏姆(Guido van Rossum),在1989年12月的圣诞节期间,为了打发时间,决定开发一种新的脚本解释程序,作为ABC语言的继承。 至于为什么叫Python这个名字,是因为Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一 种C和shell之间,功能全面,易学易用,可拓展的语言。
python时间史:
- 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
- Python 3.6 - 2016/12/23
- 2014年11月,Python2.7将在2020年停止支持的消息被发布,并且不会在发布2.8版本。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开发人群。
Python语言的特色
1、Python是弱类型语言
- 简单来说,弱类型语言可以不用提前声明变量的类型即可直接使用, 而强类型语言则必须要提前声明变量的类型,否则这个变量不能使用
2、Python是面向对象的语言
- Python语言支持完全的面向对象编程方式,同时也支持过程化和一定程度的函数式编程 可以简单的理解为,在Python中,一切皆对象
3、胶水语言
- Python能够把其他语言(尤其是 C 和 C++ )编写的各种模块很轻松的联合在一起 另外Python语言本身和扩展库大部分都由 C 语言构建
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完成各种各样的任务。
Python的优势
1、简单
- Python是一种代表简单主义思想的语言 阅读一个良好的Python程序就像是在读英语,使你能够专注于解决问题而不是去搞明白语言本身
2、易学
- Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂, 初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。
3、开发效率高
- 开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。
4、可移植性
- 由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行
5、可扩展可嵌入性
- 如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能