作者:billy
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处
Python 本义是指 “蟒蛇”(这里需要说明的是,Python 不是以蟒蛇命名的,而是以电视节目 Monty Python`s Flying Circus 来命名的)。它是1989年由荷兰人 Guido van Rossum 发明的一种面向对象的解释性高级编程语言。它的设计哲学是“优雅”、“明确”、“简单”。实际上,Python也是按照这个理念做的,以至于现在网络上流传着“人生苦短,我用Python”的说法。可见Python有着简单、开发速度快、节省时间和精力等的特点。
Python 本身并非所有的特性和功能都集成到语言核心,而是被设计为可扩充的。它具有丰富和强大的库,能够把用其他语言(尤其是C++)制作的各种模块很轻松地联结在一起。为此,Python 常被成为“胶水”语言。
在1991年 Python 的第一个公开发行版问世之后,Python 的发展并不突出。自从2004年以后,Python 的使用率呈线性增长。在2010年时,Python赢得 TIOBE 2010 年度语言大奖。在2017年,IEEE Spectrum 发布的2017年度编程语言排行榜中,Python 位居第一。
Python 自发布以来,主要经历了3个版本的变化,分别是1994年发布的 Python 1.0 版本(已过时),2000年发布的 Python 2.0 版本(已更新到2.7)和2008年发布的 Python 3.0 版本(已更新到3.8)。
Python 在升级版本时,并不是向下兼容的。在 Python 的官方网站中同时发布了两个不同系列的版本,分别是 Python 2.x 版本和 Python 3.x 版本,它们之间的基本语法上主要存在以下区别:
除了以上列出的几点主要区别之外,Python 3.x 和 Python 2.x 还有一些其他的区别,这里就不一一列举了,后面遇到时再详细介绍
Python 的作者曾于2014年宣布 Python 2.7支持时间延长到2020年。目前 Python 官方网站上的数据显示,Python 2.7版本停止支持是到2020-01-01,现在显示的状态是寿命终止。所以博主推荐初学者应该选择 Python 3.x 版本,而官网显示3.8版本还在修复bug中,最新的安全可用的版本是 Python 3.7,博主自己目前使用的是 Python 3.8.5。
Python 作为一种功能强大,并且简单易学的编程语言而广受好评,那么 Python 都能做什么呢?概括起来有以下几个方面:
Web 开发
使用 Python 的一个基本应用就是 Web 开发。在国内,大一些的使用Python 做基础设施的公司有豆瓣、知乎、美团、饿了么,以及搜狐等等。在国外,Google 在其网络搜索系统中广泛应用了 Python,并且聘用了 Python 之父。另外,YouTube 视频分享服务大部分也是用 Python 编写的;
大数据处理
随着近几年大数据的兴起,Python 也得到了前所未有的爆发。Python 借助第三方的大数据处理框架可以很容易地开发出大数据处理平台。到目前为止,Python 是金融分析、量化交易领域里使用最多的语言。例如,美国银行就利用 Python 语言开发了新产品和基础设施接口,用于处理金融数据;
人工智能
人工智能(Artifical Intelligence),英文缩写为AI。Python 之所以火,主要是借助人工智能的发展。Python 是一门脚本语言,它更适合去做人工智能这个领域,在人工智能上使用 Python 比其他编程语言有更大的优势。主要优势在于它简单、快速、可扩展(主要体现在可以应用多个优秀的人工智能框架)等,另外,Python 中的机器学习可以实现人工智能领域中的大多数需求;
自动化运维开发
掌握一门开发语言已经成为高级运维工程师的必备技能。Python 是一个简单、易学的脚本语言,能满足绝大部分自动化运维的需求。而对于运维工程师,通常不会发开,所以想学门开发语言,Python 是首选;
云计算
Python 可以广泛地在科学计算领域发挥独特的作用。通过强大的支持模块可以在计算大型数据、矢量分析、神经网络等方面高效率地工作,尤其是在教育科研方面,可以发挥独特的优势。从1997年开始,NASA 就在大量地使用 Python 进行各种复杂的科学运算,现在终于发明了一套云计算软件,取名为 OpenStack(开放协议栈),并且对外公开发布;
爬虫
网络爬虫(也称为 spider)始于也发展与百度、谷歌。但随着近几年大数据的兴起,爬虫应用被提升到前所未有的高度。多数分析挖掘公司都以网络爬虫的方式得到不同来源的数据集合,最后为其所用,构建属于自己的大数据综合平台。在爬虫领域,Python 几乎是霸主地位,通过它提供的标准支持库基本上可以做到随意获取想要的数据;
游戏开发
通过 Python 完全可以编写出非常棒的游戏程序。例如,知名的游戏 Sid Meier`s Civilization(文明)就是用 Python 编写的。另外,在网络游戏开发中 Python 也有很多应用。他作为游戏脚本内嵌在游戏中,这样做的好处是既可以利用游戏引擎的高性能,又可以受益于脚本化开发等优点;
Python 的应用领域远比上面提到的多得多。例如,使用 Python 对图形/图像进行处理、编程控制机器人、数据库编程、编写可移植的维护操作系统的工具,以及进行自然语言分析等等。