近日,全球知名的编程语言流行度排行榜网站TIOBE宣布:Python成为2018年度编程语言。
这也是继2010年后,时隔8年Python重登编程语言年度排行榜榜首。
TIOBE
Python之所以获得这个称号,是因为它在2018年的排名中比其他所有语言都高。Python语言赢得了3.62%,其次是Visual Basic .NET和Java。
Python现在已经成为大型编程语言的一部分。
近20年来,C,C++和Java一直位居前三,远远领先于其他产品。
现在,Python正在加入这三种语言,它是当今大学中最常被教授的第一语言,它在统计领域排名第一,在AI编程中排名第一,在编写脚本时排名第一,在编写系统测试时排名第一。除此之外,Python还在Web编程和科学计算领域处于领先地位。
总而言之,Python无处不在!
TIOBE年度编程语言(2009-2018)
据TIOBE称,排名前10位的编程语言包括:
Java、C、Python、C++、Visual Basic .NE、JavaScript、C#、PHP、SQL和Objective-C。
TOP10编程语言指数走势(2002-2019)
上图可以看出,Python已经与C++语言无限靠近,Python也逐渐打破Java、C、C++这三大语言的统治地位。
2019年1月编程语言排行
事实上,Python语言也凭借其简洁性、易读性和可扩展性、可嵌入性及丰富的库等深受开发者的欢迎与喜爱。
Python特点
① Python使用C语言开发,但是Python不再有C语言中的指针等复杂的数据类型。
② Python具有很强的面向对象特性,而且简化了面向对象的实现。它消除了保护类型、抽象类、接口等面向对象的元素。
③ Python代码块使用空格或制表符缩进的方式分隔代码。
④ Python仅有31个保留字,而且没有分号、begin、end等标记。
⑤ Python是强类型语言,变量创建后会对应一种数据类型,出现在统一表达式中的不同类型的变量需要做类型转换。
Python搭建开发环境
① 可以到www.python.org下载安装包,然后通过configure、make、makeinstall进行安装。
② 也可以到activestate去下载ActivePython组件包。
对ActivePython来说,如果你是windows用户,下载msi包安装即可;如果你是Unix用户,下载tar.gz包直接解压即可。
③ Python的IDE,包括PythonWin、Eclipse+PyDev插件、Komodo、EditPlus。
Python的应用
系统编程
提供API(ApplicationProgrammingInterface应用程序编程接口),能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具。
图形处理
有PIL、Tkinter等图形库支持,能方便进行图形处理。
数学处理
NumPy扩展提供大量与许多标准数学库的接口。
文本处理
Python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。
数据库编程
程序员可通过遵循PythonDB-API(数据库应用程序编程接口)规范的模块与MicrosoftSQLServer,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。
网络编程
提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet及BitTorrent.Google都在广泛地使用它。
Web编程
应用的开发语言,支持最新的XML技术。
多媒体应用
Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。
PYMO引擎
PYMO全称为pythonmemoriesoff,是一款运行于SymbianS60V3,Symbian3,S60V5,Symbian3,Android系统上的AVG游戏引擎。
因其基于python2.0平台开发,并且适用于创建秋之回忆(memoriesoff)风格的AVG游戏,故命名为PYMO。
Python应用场景
Web应用开发
Python经常被用于Web开发。
比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。
Python定义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的通信。
一些Web框架,如Django,TurboGears,web2py,Zope等,可以让程序员轻松地开发和管理复杂的Web程序。
操作系统管理、服务器运维的自动化脚本
在很多操作系统里,Python是标准的系统组件。
大多数Linux发行版以及NetBSD、OpenBSD和MacOSX都集成了Python,可以在终端下直接运行Python。
有一些Linux发行版的安装器使用Python语言编写,比如Ubuntu的Ubiquity安装器,RedHatLinux和Fedora的Anaconda安装器。GentooLinux使用Python来编写它的Portage包管理系统。
使用IronPython,Python程序能够直接调用.NetFramework。
一般说来,Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。
科学计算
NumPy,SciPy,Matplotlib可以让Python程序员编写科学计算程序。
桌面软件
PyQt、PySide、wxPython、PyGTK是Python快速开发桌面应用程序的利器。
服务器软件(网络软件)
Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。
第三方库Twisted支持异步网络编程和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。
游戏
很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于Python,Lua的功能更简单、体积更小;而Python则支持更多的特性和数据类型。
Python应用方向
常规软件开发
Python支持函数式编程和OOP面向对象编程,能够承担任何种类软件的开发工作,因此常规的软件开发、脚本编写、网络编程等都属于标配能力。
科学计算
随着NumPy,SciPy,Matplotlib,Enthoughtlibrarys等众多程序库的开发,Python越来越适合于做科学计算、绘制高质量的2D和3D图像。
和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛,有更多的程序库的支持。
虽然Matlab中的许多高级功能和toolbox目前还是无法替代的,不过在日常的科研开发之中仍然有很多的工作是可以用Python代劳的。
自动化运维
这几乎是Python应用的自留地,作为运维工程师首选的编程语言,Python在自动化运维方面已经深入人心,比如Saltstack和Ansible都是大名鼎鼎的自动化平台。
云计算
开源云计算解决方案OpenStack就是基于Python开发的,搞云计算的同学都懂的。
Web开发
基于Python的Web开发框架不要太多,比如耳熟能详的Django,还有Tornado,Flask。
其中的Python+Django架构,应用范围非常广,开发速度非常快,学习门槛也很低,能够帮助你快速的搭建起可用的WEB服务。
网络爬虫
也称网络蜘蛛,是大数据行业获取数据的核心工具。
没有网络爬虫自动地、不分昼夜地、高智能地在互联网上爬取免费的数据,那些大数据相关的公司恐怕要少四分之三。
能够编写网络爬虫的编程语言有不少,但Python绝对是其中的主流之一,其Scripy爬虫框架应用非常广泛。
数据分析
在大量数据的基础上,结合科学计算、机器学习等技术,对数据进行清洗、去重、规格化和针对性的分析是大数据行业的基石。Python是数据分析的主流语言之一。
人工智能
Python在人工智能大范畴领域内的机器学习、神经网络、深度学习等方面都是主流的编程语言,得到广泛的支持和应用。
以上是8年后Python重登2018年度编程语言王座的详细内容。更多信息请关注PHP中文网其他相关文章!