Python语言自面世以来,已经逐渐发展成为使用最广泛的计算机语言之一。我们可以从互联网上几个有名的编程语言排行榜来看看Python语言流行的情况。
图1.1 TIBOE编程语言排行榜
根据图1.1中软件质量检查公司TIBOE于2018年7月提供的TIBOE编程语言排行指数榜,Python语言名列第4位。在2010年和2017年,Python都曾经登顶过该排行榜的首位。
图1.2 IEEE Spectrum编程语言排行榜
如图1.2所示,根据全球最大的非营利性专业技术学会电气和电子工程师协会(IEEE)在2017年7月提供的IEEE Spectrum编程语言排行榜,无论以综合指数、流行趋势或在开放平台上的受欢迎程度排序,Python都高居第一位。而以开发人员需求角度排序,Python位居第三。
图1.3 RedMonk编程语言排行榜
如图1.3所示,根据开发行业分析公司RedMonk于2018年初提供的数据,在全球最大的代码托管网站GitHub上,Python的流行程度高举前三;在全球最大的开发问答网站Stackover上,Python的流行程度位居第五。
图1.4 PYPL编程语言流行程度排行榜
如图1.4所示,根据另一个基于在谷歌搜索引擎上编程语言搜索频次来统计的软件流行排行榜PYPL于2018年7月提供的数据显示,Python已超越Java成为最流行的语言。
从上面各个排行榜可以看出,Python目前当之无愧是最流行的编程语言。我们再看看Python在各个领域较为著名的企业或项目中的实际应用情况:
* Python是谷歌公司的官方服务器端编程语言之一(其他还包括C++、Java和Go语言);谷歌公司在一些搜索算法、代码维护工作流程、很多开源代码库、视频网站Youtube、Google App Engine、代码托管网站code.google.com以及当前大部分人工智能系统和项目中等大量使用了Python语言,谷歌推出的目前使用最广泛的深度学习框架TensorFlow,主要是基于Python语言的。另外值得一提是的,谷歌公司还曾聘用过Python创始人Guido van Rossum;
* 在Facebook的系统中,Python语言是应用的最为广泛的语言之一,被大量应用于基础设施构建、平台服务、配置管理和运行维护工作中;
* 曾为电影《星球大战》进行特效制作的著名电影特效制作公司Industrial Light and Magic,从上世纪开始就使用Python语言进行系统间衔接、流水线监控、图像数据库维护等;
* 著名的图片分享社交软件Instagram,使用基于Python的Django框架来搭建整个网站,这也是全球最大的完全使用Django构建的网站,每天有超过3千万张图片在其上分享;
* 全球知名的流媒体音乐服务平台Spotify是积极使用Python语言的倡导者之一,它使用Python来进行数据分析和后台服务开发;
* 知名的问答网站Quora也使用Python加Javascript的方式来设计网站前后端互操作流程;国内的大型问答网站知乎也是基于Python开发的;
* 在线影片租赁提供商Netflix也使用Python来进行数据分析和后台服务开发;
* 在线存储服务公司Dropbox使用Python来开发他们的桌面客户端,而Guido van Rossum在离开谷歌之后,就进入了Dropbox就职;
* 大型社交新闻网站Reddit在2017年每月有5亿多用户访问,排名世界第7位,而它的软件主体就是用Python编写的;
* 国内知名的图书、电影、音乐评价网站豆瓣据说使用Python作为主要开发语言;
* 其他应用到Python的较有名的企业和项目还包括:NASA(美国国家航空航天局)、CIA(美国中央情报局)、YAHOO、IBM公司、微软公司、MOZILLA项目、在线医疗网站春雨医生等;
实际上,包括腾讯、网易、搜狐在内的很多科技公司都或多或少地在各种项目和日常工作中使用Python来完成适合的任务,这里难以一一列举。根据多年来人们对Python的使用经验,下面我们再来看看Python最适合的应用范围:
* WEB互联网服务开发
Python既有Django和Pyramid这样的大型WEB开发框架,也有轻量级的Flask、Bottle等WEB框架;还有Plone和django CMS这样的内容管理系统;可以构建从个人实验性网站到大型企业级别的网站,并且经过世界上几个超大型网站最高级别的压力的实践检验。
另外,Python标准库还支持一系列开发网络服务所需要的协议和功能,例如:HTML、XML、JSON、E-mail、FTP、Socket等。
* 数学和科学计算
由于Python的开放性,多年来很多人为Python编写了很多第三方代码包或代码库,使得Python的功能越来越强大;其中就包括用于数学和科学计算的代码包,因此很多科学家也喜欢用Python来编写程序,这也是目前人工智能领域很多系统使用Python来进行开发的重要原因之一。比较有名的用于数学或科学计算的第三方Python类库包括:用于数据分析和建模的Pandas;用于数学、科学和工程计算的大型类库SciPy;用于将数学、几何与其他科学计算图形化的工具集Matplotlib;擅长处理多维数组与矩阵的Numpy;用于天文学和天体物理学计算的Astropy;用于生物科学计算的Biopython等。
* 教学和原型演示
Python在语言语法上的先进性和规范性,使得它非常适合被用来教授计算机语言。现在全球很多各级学校越来越多的老师愿意用Python来讲解计算机编程课。由于Python编程很高效,Python代码阅读很清晰流畅,因此很多人在进行概念、算法、流程展示的时候,也愿意使用Python来进行演示。
* 软件开发过程辅助与管理
Python在一些软件开发公司和项目中,常常被当作一种辅助性工具,来帮助开发团队对开发过程的一些阶段进行更高效的管理与执行辅助任务。例如,Python常被用于软件编译与构建管理(Build Control)、软件与系统测试、缺陷跟踪、项目管理等。
* 企业资源管理与电子商务
Python也被一些企业用于建设企业资源管理系统(ERP)和电子商务系统。这方面的第三方Python框架包括Odoo、Tryton等。
本章结语
Python语言自诞生以来,以难以置信的速度成为世界上应用最广泛的语言之一。Python在各个行业都有自己的应用空间,后面将根据我们在各个行业实际项目的经验中提炼出来的Python实用技术,结合实例来详细讲解Python的具体应用。
网友评论