Python这个东西在中国,大概是从2017年末开始,突然就火了起来的。
此前,对于Python,乃至编程,绝大多数程度上都是专业人士的话题,在普通大众层面上起不了波澜。
为什么Python突然就火了起来了呢?我来简要分析一下,主要有以下三点:
人工智能与机器学习的兴起
最近几年,大数据、人工智能、机器学习越来越受人关注,以至于普通人都对其有所耳闻。而这样的人才供不应求,薪资水平相当高,也会有很多人希望能够学习它们。
而Python语言简单,且拥有庞大的外部库,尤其是许多与上述内容相关的库,如Matplotlib、Numpy、Pandas、SciPy、TensorFlow。这些库在Python中都是相当有名气的,使用起来也较为方便。因此,Python也成为了大数据、人工智能、机器学习的主要语言从而拥有相当多的学习者。
教育与考试的推动
在2017年初,网传浙江出台了一份关于新高中信息技术教材的方案,将围绕Python进行并增加编程相关知识点:
2017年中观察:
看上去这个大纲内容基本是这样了,但是实行年份可能要往后推了,不在2017年执行了(据说技术科目的另一部分,通用技术,也在进行教改)。
2017年初消息:
浙江省信息技术新教材,即将在2017级(2017年9月入学)高中新生中开始使用。
据了解,与目前的选考(可以理解为高考科目)要求的
信息技术教材由3本《信息技术基础》、《多媒体技术应用》、《算法与程序设计》3本组成,涉及软件(应用软件与编程软件)包括但不限于,
- 信息技术基础:Excel、Access;
- 多媒体技术应用:Photoshop、Flash
- 算法与程序设计:Visual Basic 6.0,算法部分只涉及冒泡、插入排序,与二分查找,
不同,
- 取消《多媒体技术应用》模块(也就是说,不再考察Photoshop和Flash了)
- 取消对Excel、Access软件使用的考察
- 编程语言将换用Python
- 将使用Python + matplotlib + pandas ,并直接编程来绘制图表、操纵数据、进行数据可视化,来替代之前有关Excel和Access的考察
- 算法与程序设计模块也将使用Python,并新增基础数据结构知识(线性数据结构,与非线性数据结构中的树与二叉树)
顺带一提,接下去的高考的信息技术考查形式不明确,但是估计不会改变,仍然是100%纸笔闭卷测试。(如果有变化,将及时更新)
(上面对知乎上的相关问题的原文进行了重新排版,重点部分已加粗)
那时我虽然还没有重新开始使用Python,但是对于这项改革方案还是相当满意的,最大的原因是VB实在是太老了……当然,浙江的这项方案也算是开了高中信息技术教育的先例吧。由于信息技术在浙江属于高考的选考科目,所以这项改革也不会像其他教育改革那样走过场的。说到教育改革,我想过很多,不过这里就不再赘述了。
不过我不是浙江的中学生,所以我对此并不太关注。
到了2017年末,我又看到了一条消息:全国计算机等级考试进行了调整,在二级考试中新增“Python语言程序设计”科目:
2. 二级
取消“Visual FoxPro数据库程序设计”科目(代码:27),2017年12月是其最后一次组考。新增“Python语言程序设计”科目(代码:66),考试时长:120分钟,软件要求:Python 3.5.2版本及以上IDLE,2018年9月首次开考。
(重点部分已加粗)
这就比较厉害了。之前是省级的改革,现在是国家级的。我当时还想着报名参加考试,结果发现是九月份才开始考的。
这个消息一出,许多技术相关的媒体都纷纷报道上面的事情,并且对Python的优势和前景进行了分析。有人甚至在回顾AlphaGo击败柯洁的时候说“与其说是 AlphaGo 打败了柯洁,不如说是 Python 打败柯洁”(当然这句话稍显片面)。
与此同时,网传山东的新版小学信息技术教材中涉及到了Python。
网传山东的新版小学信息技术教材中涉及到了Python虽然不知道具体讲的时候是怎么讲的,而且目前只知道这一页,并不知道讲的具体内容,但是这也能体现出来,随着国家和大众对程序设计教育的重视,Python作为比较容易的编程语言正在走进初级教育。
不过,从下面这篇微博中看,应该是真的。
“乳山教育”发布当地教师学习Python的新闻另外,2017年12月29日,教育部印发《普通高中课程方案和语文等学科课程标准(2017年版)》,并要求各地于2018年秋季开始执行。其中对于信息技术,相比于 2003 年版的课程标准,“新课标”大幅度减少了对于基本软件使用的要求,而大幅度提升了在编程、计算思维、算法方面的思维要求,以及人工智能、开源硬件、网络空间安全等知识面要求。
新旧课标对于信息技术的要求对比这种情况下,如果之前浙江的高考改革方案为真,那么其他地区应该会借鉴浙江的经验来编制或选择教材等内容。另外,鉴于竞赛需要,除了发达地区和重点高中外,信息技术也会逐渐被更多地区的高中所重视。
在这些教育政策的推动下,大众自然会对Python以及编程重视起来。
另外,编程甚至开始从娃娃抓起了。
最有名的面向于儿童的编程教育工具是Scratch。不过它仅仅是教学用的工具,而非能够具有高效生产力的语言。
Scratch界面而Python却能够解决它的不足,且语法较为简单。某种意义上,学习Python可以作为学习Scratch的下一步操作。另外,树莓派等板载计算机可以很好地使用Python通过GPIO来控制电子器件,这一点和Scratch比较相似;Python拥有非常多的外部库来轻松实现不可思议的功能。这也应该是Python在青少年编程教育领域比较火的原因吧。
外挂的好奇心
教育和考试的推动,推动的是学生和家长对Python的兴趣。而对于其他人的兴趣,我想应该是因为最近的“跳一跳”的外挂了。
自从微信推出“跳一跳”后,玩家纷纷为了刷分日夜奋战,当然也少不了那些使用外挂的人。有一些人靠外挂牟利,而有一些人写出外挂后无偿地分享出来。在形形色色的外挂中,以Python写出的外挂最多(说实话,一个小游戏居然有如此多的用不同语言写的外挂,而且还是开源的,说明很多写外挂的行为实际上有一种炫技的成分)。
在GitHub上搜索“跳一跳 微信”得到的结果按语言计数而其中,star数最高的外挂也是用Python写的,达到13.1K,远远超过第二名。
star数最高的外挂是Python写的,至于是什么可以自己查后来,网上也出现了形形色色的针对于开发“跳一跳”的外挂的教程。这里面很多也是与Python有关的。我记得在那时,我能够很频繁地在B站推荐给我的视频中看到关于用Python写跳一跳的外挂的视频。我想,应该是因为“跳一跳”规则简单,而且对于计算机来说,色块简单,更加容易实现自动化,是学习Python的高级功能的很好的工具吧。
在哔哩哔哩上搜索“跳一跳 教程”出现的结果,框出的为使用Python编写的外挂的教程我想,对于大众,这也是一个接触Python的机会;也许一些人会惊叹于Python的强大,进而有学习的欲望。
于是后来,我发现,关于Python的其他方面的教程越来越多,如爬虫、数据分析。
我不是专业人士,如果分析有些许瑕疵,还望海涵。
参考资料
- 如何评价即将开始使用的浙江省新高中信息技术教材,将围绕Python进行并增加编程相关知识点? - 知乎
https://www.zhihu.com/question/55811645 - 全国计算机等级考试调整方案
http://www.eeafj.cn/u/cms/default/201710/20171017101728_50.pdf - 资讯 | 浙江省信息技术课程改革方案出台,Python 确定进入浙江省信息技术高考!!_搜狐教育_搜狐网
http://www.sohu.com/a/210105713_292575 - 教育部关于印发《普通高中课程方案和语文等学科课程标准(2017年版)》的通知 - 中华人民共和国教育部政府门户网站
http://www.moe.gov.cn/srcsite/A26/s8001/201801/t20180115_324647.html - 高中新课标出台!少儿编程教育再上新高度_搜狐教育_搜狐网
http://www.sohu.com/a/217415114_665933 - Getting Started With Scratch (Version 2.0)
https://resources.scratch.mit.edu/www/guides/en/Getting-Started-Guide-Scratch2.pdf
网友评论