1.2 Python的应用场合
现在,全世界有600多种编程语言,但流行的编程语言也就20多种。如果你听说过TIOBE排行榜,就能知道编程语言的大致流行程度。图1-1是2002-2018年常用的10种编程语言的变化图。
图1-1 TIOBE排行榜
2015年和2016年,Python基本处于第5位,市场占有率次于Java、C、C++和C#,从2017年开始,Python借着人工智能的东风,热度一路水涨船高,目前已经排到第4位,有些排名机构甚至将其排为第1位。Python是一门比较注重效率的语言,不复杂,读和写都非常方便,所以才有“人生苦短,我用Python”这样的调侃。云计算和大数据方面对Python人才的需求也在持续增加。当前比较火热的区块链就大量使用Python做具体实现。
Python在云计算方面的用途很大,比如云计算中IaaS(Infrastructure as a Service,基础设施即服务)层的很多软件都大量使用Python,云计算的其他服务都建立在IaaS服务的基础上。
下面这些使用比较广泛的软件就大量使用Python。
(1)Google深度学习框架TensorFlow全由Python实现。
(2)深度学习框架Caffe由Python实现。
(3)开源IaaS软件(ZStack)。
(4)开源云计算技术(OpenStack)。
(5)Amazon s3命令行管理工具(s3cmd)。
(6)EC2云计算管理工具(StarCluster)。
在大数据领域,Python的使用也越来越广泛。Python在数据处理方面有如下优势:
(1)异常快捷的开发速度,代码非常少。
(2)丰富的数据处理包,无论是正则,还是HTML解析、XML解析,用起来都非常方便。
(3)内部类型使用成本很低,不需要许多额外操作(Java、C++用一个Map都很费劲)。
(4)公司中大量数据处理工作不需要面对非常大的数据。
(5)巨大的数据不是语言所能解决的,需要处理数据的框架(如Hadoop)。Python虽然小众,但是有处理大数据的框架。一些框架也支持Python。
(6)编码问题处理起来非常方便。
除了在人工智能、区块链、云计算和大数据领域的应用外,很多网站也是用Python开发的,很多大公司(如Google、Yahoo以及NASA)都大量使用Python。
我们熟知的AlphaGo就是Google用TensorFlow实现的,Facebook也是扎克伯格用Python开发出来的,后来的Twitter也是用Python写的,实际上Python是国外很多大公司(如Google)使用的主要语言。
图1-2 Python的定位
“龟叔”给Python的定位如图1-2所示,为“优雅”“明确”“简单”。Python程序看上去总是简单易懂,初学者学Python不但容易入门,而且将来深入下去可以编写非常复杂的程序。
Python的哲学就是简单、优雅、明确,尽量写容易看明白的代码,尽量将代码写得更少。
Python是一个简单、解释型、交互式、可移植、面向对象的超高级语言。这是对Python语言的简单描述。
Python有一个交互式的开发环境,Python的解释运行大大节省了每次编译的时间。Python语法简单,内置几种高级数据结构(如字典、列表等),使用起来特别简单。Python具有大部分面向对象语言的特征,可完全进行面向对象编程。Python可以在MS-DOS、Windows、Windows NT、Linux、Solaris、Amiga、BeOS、OS/2、VMS、QNX等多种操作系统上运行。