用数据说话,为什么要学Python(1)

Python 是不是越来越火了?

答案是肯定的。

那么为什么 Python 现在越来越火了?也许有人感觉 Python 火了是因为我们关注它,Python火是被炒起来的。还是让我们用数据说话吧!

下图是 Python 的百度搜索指数:

从 2007开始到现在,Python 的百度搜索指数翻了50 倍. 这是中国为主的数据。在2017年8月, 中国国内对Python的关注超过了Java.

下图是 Python 的google搜索指数:

从 2007开始到现在,Python的google搜索指数翻了5 倍.在全球的范围内,在2019年5月Python的关注搜索指数超过了Java. 

微信也推出了微信指数(在微信中搜索微信指数)。Python的关注微信指数远远高过了包括Java在内的其他语言。但历史数据太短,只能作为参考。

TIOBE和PYPL的5月编程语言排行榜:如果你只能学习一门语言,Python是最好的选择!

再看一下一个TIOBE Index编程语言排行榜

注:TIOBE 编程社区指数(The TIOBE Programming Community index)是编程语言流行度的指标,该榜单每月更新一次,指数基于全球技术工程师、课程和第三方供应商的数量。具体的计算方式见这里:https://www.tiobe.com/tiobe-index/programming-languages-definition/。

值得注意的是,TIOBE 指数并不代表语言的好坏,开发者可以使用该榜单检查自身的编程技能是否需要更新,或者在开始构建新软件时对某一语言做出选择。

下面再看一下PYPL编程语言排行榜,

PYPL PopularitY of Programming Language

注:PYPL(PopularitY of Programming Language Index ),即编程语言流行指数。其排名是根据在谷歌上的相关编程语言教程的搜索频率就行统计排名。也就是某项语言在 Google 上搜索频率越高,表示这项语言越受欢迎。

完整榜单地址:https://pypl.github.io/PYPL.html

从今年5月榜上可以看出,Python稳坐最受欢迎的语言,甚至与其他语言拉大了差距。

而历史数据显示在2018年4月,Python的关注度就超过了Java.

另外,Stack Overflow流量统计,2017年6月,Python第一次成为高收入国家Stack Overflow访问量最大的标签。2018年,Python超过Javascript成为最受欢迎的语言。 今年,Python依然是最受欢迎的标签并且百分比继续不断上升。

那些说 Python 不火的同学,肯定大跌眼镜吧。

Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。已不是一种年轻的编程语言,它突然火爆的背后到底有哪些深层原因呢?

Python是干什么的?
要找出python火爆的原因,我们就不得不先来了解python本身。Python 是一种面向对象的解释型计算机程序设计语言。Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比于C++或Java,Python让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。

与其他动态类型编程语言一样,Python拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。除了其本身拥有一个巨大而广泛的标准库,Python还有全世界程序员不断共同贡献代码的丰富和强大的第三方库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块很轻松地联结在一起。

Python 解释器本身几乎可以在所有的操作系统中运行。Python的第一个解释器CPython是用C语言编写的、是一个由社群驱动的自由软件,当前由Python软件基金会管理。

Python是纯粹的自由软件,源代码和解释器CPython遵循 GPL(GNU General Public License)协议。GPL是自由和开源软件领域最受欢迎的软件许可之一。Python因为受欢迎,以至于有多个语言开发的Python解释器。

     · CPython,官方的解释器。需要区别于其他解释器的时候才以CPython称呼。这是最常用的Python版本。

· Jython(原名JPythonJava语言实现的Python,现已正式发布)。Jython可以直接调用Java的各种函数库。

· PyPy(使用Python语言写的Python)

· IronPython(面向.NET和ECMA CLI的Python实现)。IronPython能够直接调用.net平台的各种函数库。可以将Python程序编译成.net程序。

· ZhPy(周蟒,支持使用繁/简中文语句编写程序的Python语言)

Python这么火的内因有以下几点

1.入手快:

Python语言相对于其他编程语言来说,属于比较容易学习的一门编程语言,它注重的是如何解决问题而不是编程语言的语法和结构。所以,已经有越来越多的初学者选择Python语言作为编程的入门语言。

Python的语言没有多少仪式化的东西,所以就算不是一个 Python 专家,你也能读懂它的代码。Python的语法里面条条框框以及特殊的处理场景要少得多。它所专注的并非语言表现的丰富程度,而是你想要用你的代码完成什么。

2.颜值高:

Python语言力求代码简洁、优美。在 Python 语言中,采用缩进来标识代码块,通过减少无用的大括号,去除语句末尾的分号等视觉杂讯,使得代码的可读性显著提高。它使你能够专注于解决问题,而不用太纠结编程语言本身的语法。

Python能用少量的代码构建出很多功能。能带给所有开发者一种快速的学习体验。通过实践,你可以在最多两天之内轻松实现一个具备基础功能的游戏(而这还是在对编程完全不了解的情况下)。另外一些让Python
成为一门引人注目的编程语言的因素就是它的可读性和高效性。

3.有内涵:

Python语言号称自带电池,寓意是 Python 语言的类库非常的全面,包含了解决各种问题的类库。无论实现什么功能,都有现成的类库可以使用。合理使用Python 的类库和开源项目,能够快速的实现功能,满足业务需求。

Python多才多艺,可以被应用于如今你所能想得到的相当多的软件开发和操作场景。要管理本地或者云基础设施吗?Python可以。开发网站? OK,它也能行的。需要处理一个SQL 数据库? 可以。需要为 Hive 或者 Pig 定制一个功能?能做到。只是想为自己构建一个小工具?Python 就是最好的选择。需要一门支持面向对象设计的语言? Python 的特性就能满足啦。简而言之,将 Python 了解得更加深入一点点,就能让你具备可以适应范围更宽泛的工作角色的技能。

4.效率高:

Python语言因为有了丰富强大的类库,所以,Python 的开发效率能够显著提高。实现相同的功能,Python代码的文件往往只有 C、C++ 和 Java 代码的 1/5~1/3。这也是为什么各大互联网公司广泛使用Python 语言的原因。

Python 拥有最成熟的程序包资源库。一旦你了解了该语言,就可以利用上这个平台。Python拥有超过
85,000 个 Python 模块和脚本的资源库,你拿过来就立马可以使用。这些模块向你的本地Python 环境分发已经预先打包好的功能,可以用来解决各种诸如数据库处理,计算机视觉实现,像维度分析这样的高级数据分析的执行,或者是构建REST 风格的 web 服务这些问题。

Python + GItHub 社区的各种开源工具包就好比一个军火库,里面什么武器都有,完全取决于使用者怎么组装这些武器。例如: 数值计算工具:NumPy,SciPy; 符号计算工具:SymPy; 机器学习工具:Scikit-Learn,XGBoost,lightGBM,catBoost,PySpark; 深度学习工具:TensorFlow,PyTorch; 时间序列工具:FbProphet; 数据分析工具:Pandas; 地图分析工具:folium;web开发工具:Django,Flask; 可视化工具:matplotlib; 图计算工具:networkx。 另外,各种数据库例如 Redis,MySQL,influxDB 等都有相应的 Python API。

5.应用广:

工程师可以使用 Python 做很多的事情。例如,Web 开发、网络编程、自动化运维、Linux系统管理、数据分析、科学计算、人工智能、机器学习等等。

Python 广泛用于数据科学领域。不管你从事的是什么工作,数据都会是其中的一部分。IT,软件开发,市场–
它们都深度地关乎数据且对于智慧求之若渴。很快数据分析技能就会像编码技能一样的重要,而 Python 在两个领域都占有重要的地位。Python 紧挨着 R 语言,都是现代数据科学中最常被使用的语言。事实上,在数据科学领域,Python 的职位职位需求超过了R 语言。你在学习 Python 时发展出来的技能将会直接转换并被用来构建起自己的这些分析技能。

6.全开放:

Python 是跨平台且开源的。

Python 可以跨平台运行,并且已经开放源代码超过20年的时间了,如果你需要代码能同时在Linux,Windows 以及 macOS 上跑起来,Python 就能满足要求。此外,有数十年的修修补补以及不断完善做后盾,可以确保你能够随心所欲地运行自己的代码。

上述就是Python这么火的内因,下面我们就来看看Python在国内外这么火的外因

Python火爆的外因

12~14年是云计算最火的几年,大批创业公司和巨头挤破头地进军云计算领域,大家都在做IAAS,最著名的云计算开源平台OpenStack

就是基于Python 开发的,为此催生出不少Python 岗位

14~15年是「大众创新,万众创业」口号喊得最响两年,全国大街小巷似乎人人都是创业者,O2O、P2P产品如雨后春笋般冒出,什么语言最适合快速搭建原型?当然是Python,Python 的开发速度一个顶仨。

16~17年人工智能火遍大江南北,AlphaGO 的出现让业界为之兴奋,人工智能不再是概念,而人工智能、机器学习的首选语言就是Python。

这两年特别是网络爬虫火得一塌糊涂,10个写爬虫的9个在用Python,曾经有一段时间知乎的Python话题全部被爬虫相关的帖子刷屏,为什么爬虫这么火,这个还是跟大数据有关,因为数据挖掘、分析、机器学习、人工智能都需要大数据的支撑,而真正有大数据的厂商没几个,所以小厂不得不通过爬虫去获取数据。

Python 是一门兼具简单与功能强大的编程语言,它专注于如何解决问题、自由开放的社区环境以及丰富的第三方库,无需浪费时间去造轮子,各种Web框架、爬虫框架、数据分析框架、机器学习框架应有尽有,拿来即用,如果你不知道去哪找第三库,可以看看 awesome-python

Python 的发展完全是由社区自我驱动的,喜欢Python的原因很简单,因为它确确实实给开发者带来了愉悦的编程体验。

正是因为Python占据了天时地利人和,所以才让Python在短短几年内跻身世界编程语言最受欢迎的语言之一。未来,「人生苦短,我用 Python」或许不再是网络上的流行语,而是成为人们的共识。那么你做好了转行Python的准备吗?如果还没有,那么可以关注我们的后续文章。

接触早,好不好?

有很多的家长会困惑,让小朋友这样早的接触编程,会不会将来只能做我们通常意义上的“程序员”?我们想要指出的是,正是不愿意仅仅停留在程序员的一层, 当小朋友接触编程之后,如果他们兴趣不大,将来就可以把编程作为一个工具,帮助他们分析问题。如果他们很感兴趣,他一定会希望用编程来做一些更高级的事情,比如设计一个游戏,或者用Python自动玩游戏,比如在学习和工作中自动处理上千的表格和文件,自动登录系统处理问题,解决问题。解决的问题越大,成就感也就会越大。尽早接触编程,对孩子是一个很好的机会去看看更广阔的天地。

Leave a Reply