nokiaguy

Python为何能上位碾压Java?

Python以其优良的特性,适合于传统编程语言擅长的Web开发、移动开发、游戏开发、桌面应用等。不仅如此,它也适合于当前最流行的人工智能、大数据、科学计算、金融分析……这正是它迅速上位走红的原因。

在过去的两年间,Python一路高歌猛进,成功窜上“最火编程语言”的宝座,据统计,最新排名已经超越Java,成为名副其实的第一语言(见下图)。

尤其在大数据分析与人工智能领域,KDnuggets2018年*分析/数据科学/ ML软件调查,也印证了其市场场占有率:

根据职友集(国内专业做薪金调查的统计公司)调查,北京地区Python程序员的月薪平均水平达到了19750元的新高(见下图)。

俗话说外行看热闹,内行看门道,我们已经知道了Python的火爆程度,但是学一门编程语言是需要花大量精力的,所以很多同学最关心下面的问题。

我有必要去学吗?

这门编程语言适合我吗?

我应该怎么学?

Python到底有什么用,学完能做什么呢?

学完Python,好找工作吗?

薪水高吗?(这个从上图就可以看出,一线城市Python程序员平均工资已经接近20000/月)

要不要学习 Python?

反正我准备成为Python程序员了,未来是人工智能的时代,有理由相信 Python 将发挥更大的作用。

2017年7月20日,×××印发了《新一代人工智能发展规划》,提出了面向2030年我国新一代人工智能发展的指导思想、战略目标、重点任务和保障措施。2017年10月11日,教育部决定自2018年3月起,在计算机二级考试加入了「Python 语言程序设计」科目。 2018年1月16日上午,教育部召开新闻发布会,在此次「新课标」改革中,正式将人工智能、物联网、大数据处理划入新课标,这也就意味着今年秋季入学的高中生,将要开始学习 Python 了。

看到这里,你还会怀疑学习 Python 的意义吗? 凡事预则立,不预则废,生在这个时代,没有理由对 Python 一无所知。 对此,我想说,我完全爱上了Python!因为Python能做的太多了。

如何快速学习 Python?

Python好不好,事实足以说明,重点是Python该怎么学?

在我看来,有如下4个步骤。

明确学习目标

确定学习资料

系统性学习

阶段性成果检验

Python的领域很多,学习一种编程语言,首先要明确一个目标,不可能一开始每一样都学,例如,可以先从Python语言的基础学习,但要注意,一定要系统化学习,尽可能将Python语言的核心知识点都学到,哪怕这些知识点的具体细节和API还没有完全掌握,至少要知道Python有这个知识点,以便以后用到了,再深入学习。然后需要选择某一个领域深入下去,Python的Web领域相对容易些,建议初学者先从Python Web领域入手,逐渐深入,再学习其他领域。

明确了目标,还需要掌握学习方法,任何一门编程语言都应该先系统性学习,而不是碎片化地学习,毕竟一门语言包含太多细节,碎片化的学习,顾此失彼,浅尝辄止,无法从全局把握。

确定了学习目标后,就需要找一些学习资料,尽量不要网上找一些琐碎的资料,因为这些资料只适合于成手,而且也不系统,无法成体系去学习一种技术。系统的资料包括但不限于书、视频、成体系的电子教材,如果时间和金钱允许,也可以参加线上线下的一些面授课程。

大家在选择学习参考书或视频课程时,要尽可能系统、全面一些的。这里推荐李宁老师的《Python从菜鸟到高手》一书,本书从Python的基础知识讲起,深入浅出,还包括了Python常用的领域,如Web、网络爬虫、数据分析、图表、GUI、游戏开发等技术,以及大量的项目实战,如高仿美团Web应用、利用Python爬虫抓取和分析京东和天猫胸罩销售数据等。从该书的知识结构图(见下图)就可了解本书的全貌。

另外,用视频配合图书学习也是一种不错的选择,宁哥教育(https://geekori.com/edu)包含了大量的Python在线视频课程,也是不错的选择。另外,购买《Python从菜鸟到高手》一书的读者会赠送全套的Python同步视频课程(40小时),可以让您的学习效率成倍提高。

光学习理论知识,不动手实践,是学习编程语言的最大忌讳。因此,在学习一段时间后,应该动手写一些小程序,让自己有信心继续学下去。《Python从菜鸟到高手》一书包含了超过10万行代码,6个实战案例,如爬虫、Web应用、GUI应用、游戏等。真正做到了理论和实战相结合。

是否应该学习Python的多个领域

因为Python的领域太多,可能很多同学会有一个疑问,是挑一个自己感兴趣的领域深入下去,成为这个领域的前1%,还是学习Python的多个领域,成为多面手呢?

其实这个问题不太好回答,因人而异。如果某位同学拥有足够的天赋,并且够勤奋,进入前1%是没什么问题的。不过对于大多数人来说,都只是普通人,通过自己的努力,是可以达到前20%,甚至前10%。但达到前1%,就在很大程度上依赖天赋了,光靠努力和勤奋是没用的。

不过好在现在的各种类型的应用都不是单一技术能解决的,例如,一个完整的机器学习系统,是不能高靠TensorFlow、PyTorch这些工具就可以搞定的,可能需要网络爬虫、数据分析、数据库技术、Web技术、安全技术、GUI技术等。而现在企业非常需要能同时驾驭多种技术的人才,而这种人才大多是企业中的骨感、精英以及Leader。这些人才的共同特点是在每一个领域不一定是No 1.,但可以同时驾驭多个领域的知识(达芬奇就是一个典型的例子),这为将多种技术深度融合提供了有效的保障,试问,如果你对某些技术根本就不了解,又怎能将它们融合在一起呢?

虽然这种人才在每个领域算不上最牛叉的那群人,但由于是跨领域的,所以综合排名将使用乘法计算,例如,某个人在A领域和B领域只排到前20%,但由于这个人同时了解两个领域,所以他在跨A和B领域的排名就是前4%(20% * 20%),而如果这个比例是10%,那么综合排名就是1%。如果恰好A和B是两个关联性较大的技术领域,那么这个跨领域的人才的价值将远大于单纯在A和B领域排到前1%人才。所以建议想在Python领域站稳脚跟的同学,在完成Python的入门学习以后,根据个人的实际情况,可以选择2个或多个关联性较大的领域进行学习,例如,Python Web领域和Python爬虫领域,Python爬虫领域和Python深度学习领域。这两对领域的关联性都比较大,如Python爬虫主要抓取的是Web数据,而正好需要了解Web开发的细节。就像要做杀毒软件,如果不了解病毒的实现原理,要如何去做呢?Python深度学习的很多数据是需要Python爬虫从网上抓取,然后进行标注的,所以爬虫从某种角度可以认为是深度学习的数据源。

另外,《Python从菜鸟到高手》一书涉及到了Python目前大多数常见的领域,这是李宁老师关于Python系列的第一本书,后续还会有深入探讨Python网络爬虫、Python深度学习、Python Web开发、Python大数据等系列数据,每一本书都是承前启后,可以让读者通过这一系列图书完成对Python语言的系统学习。

 

posted on 2018-09-10 09:18 银河使者 阅读(...) 评论(...) 编辑 收藏

相关文章:

相关资源