据澎湃新闻近日消息,山东省在其最新出版的小学信息技术六年级教材中,加入了python的内容。在此之前,编程界也一直有传言,称浙江省将对中学信息技术教材进行改动,弃vb(visual basic 6.0)而选用python。
事情真的会如程序员们期待的那样发展吗?python语言又为什么突然受到了格外的重视呢?
vb做错了什么你要抛弃他?
其实vb并没错,只是用他的人变了。
同样在1991年出现在人们的视野中,两者目前的地位却截然不同:据最新的tiobe流行编程语言排行显示,python牢牢占据第4名的位置,而vb已掉到第20名,甚至还有大幅下降的趋势。
2016年到2017年,第4位的python地位稳固,vb则从第14位掉到了第20位。图片来源:ti
vb的衰落有诸多原因存在。主因是微软的退场。2008年4月,微软宣布停止对vb的支持,转向c#和vb,导致社区青黄不接;再观国内教育市场,noip等信息奥赛在2005年就将basic语言移出可使用项,人们对vb的刻板印象还停留在画几何图形、写九九乘法表等初级应用,在找工作求职时,也很少人会把它写在简历里作为掌握的计算机语言。换成一个更具活力的编程语言的需求迫在眉睫。
vb已死,python当立
c/c++、java、python早已在旁边虎视眈眈已久,但为什么python独独受到了重视呢?
虽然c的语法简单明了,但必须得自己管理内存是一件很头疼的事;而java的语法过于麻烦,导致新手过多关注语法而无法领会计算机入门的要点。python是这三者中最好的计算机入门语言。在新手阶段你可能无法体会到c和java的强大,却可以体会到python的简洁。
这种语言极易上手,接近自然语言的风格,稍加熟悉便可很快熟稔于心。阅读python代码就像是在阅读英语文章一样,让你更清晰地明白逻辑架构,不必过度关注语言本身。这吸引了大批其他行业人士使用python完成专业项目,你很容易会遇到懂 python 的医生,会 python 的会计师,甚至是用 python分析葡萄种类的酿酒师。
python开发者社区也因多元化元素的引入而蓬勃发展,无论是菜鸟码农还是老司机,都能在充足的文档、教程中找到你想要的答案。使用python的明星互联网公司也非常多,诸如youtube、dropbox、quora、instagram、reddit,等等一些不知道存不存在的公司,核心业务都是基于python开发的。
python的“幕后推手”是谁?
在vb占据中学生信息技术教科书这么多年以后,教学改革也该与时俱进了。当然,这背后还有几个大事件是“幕后推手”。
一、美国政府的推动。
奥巴马在卸任前的最后一年里,提议大力推行基础教育,总投入40亿美元,以确保每一名k12学生都能获得接触计算机教育的机会。
马于2016年1月30日的每周电视讲话宣布“cs for all”。图片来源:视频截图
继任者特朗普的规划则更为清晰,他预计在教育部每年投入2亿美元来增加k12学校对计算机教育的重视程度,同时要求教育部提交年度报告反馈成效。相信无论是支持或反对特朗普,人们都乐于看到政府对教育的重视。
二、高校的重视。
在美国的顶级高校中,python已经成为教授计算机科学入门课程方面最受欢迎的语言。
其中排名前10的cs系中有8个使用python作为主要教学教学语言,mit和uc berkeley的计算机系最近甚至将其入门课程的计算机语言改成了python。
三、mooc的支持。
最大的三个mooc(massive open online courses)网站coursera、edx和udacity也全都提供了python语言的入门课程。
python适合青少年吗?
对大多数人来说,编程是一件“大人的事儿”。python又真的适合青少年从小学习吗?
从某种意义上来说,这一点或许恰好是python的优势。实际上,已经有不少年轻有为的少年英才通过python取得不俗的成绩。
早在2013年,就有一位13岁的python开发者朱利安·迈耶(julian meyer)在网站上发表文章,教自己的同龄孩子用python做小游戏。
在这篇教程中,他通过一款自己设计的名为《兔子和獾》的塔防游戏来引导读者直接上手。从安装python,到添加兔子的形象、动作,再到设计和反派獾的交互动作,最后添加声效和背景音乐,一个入门级的小程序由此成型。
迈耶用python做的塔防游戏《兔子和獾》截图。 图片来源:winduino.co.kr
另一名python开发者、现年17岁的学生凯文·法兰斯(kevin frans)做出了更为惊人的成就:他以第一作者的身份发表论文《meta learning shared hierarchies》,提交到了机器学习顶级会议iclr2018上。
法兰斯与他发表的论文。图片来源:twitter
在法兰斯15岁时,他就已经通过python来训练神经网络了。受到玩atari游戏的ai和alphago相关报道的影响,他阅读大量论文并且复现了部分功能。吸收大量知识后,他创作了一个交互式网页,可以用漫画风格为素描画自动上色。
法兰斯的才能被挖掘的过程也颇为有趣。一次,法兰斯在试图解决openai的一项开放问题时颇有眉目,便写信给openai研究员约翰·舒尔曼(john schulman)寻求建议。来来回回讨论几次算法后,舒尔曼查看了法兰斯的个人博客才知道他是高中生,大为吃惊。后来法兰斯申请了openai的实习资格,面试官正是舒尔曼,他也对这次法兰斯提交的论文赞不绝口:“他为这一问题提供了全新思路,部分结果已经超越前人所做。”
结语
无论是python还是java还是c亦或是其他什么编程语言,最重要的都是教学方式。
如果只是单纯地者加进高考或者纳入义务教育的范畴,而教学模式仍然还是vb那种老一套,老师照着课本照本宣科,或者是纸上谈兵,围绕考点背诵学习做习题,开放机房让学生自己随便摸一摸,那么效果肯定是不理想的。
在兴趣引导下学习,才能事半功倍,法兰斯就是很好的示范。作为初学者,如果带着目的、带着需求去学,进步就会很快。计算机编程本身是一个动手实践的项目,动手越多学的就越快、越好。不管python会不会成为高考项目,这门语言都能为学习者带来无穷乐趣。
一个ai
假如你一觉睡醒发现自己回到了小学……你恐怕就再也毕不了业了!
最后还是要推荐下小编的python学习群: 639584010,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2017最新的python资料和0基础入门教程,欢迎初学和进阶中的小伙伴。
每天晚上20:30我都会开直播给大家分享python学习知识和路线方法,群里会不定期更新最新的教程和学习方法(进群送2017python学习教程),大家都是学习python的,或是转行,或是大学生,还有工作中想提升自己能力的python党,如果你是正在学习python的小伙伴可以加入学习。最后祝所有程序员都能够走上人生巅峰,让代码将梦想照进现实,非常适合新手学习,有不懂的问题可以随时问我,工作不忙的时候希望可以给大家解惑。
目前计算机主要的功能是处理文本和数据,特别是web的兴起,开发任务中的有一大堆都是对字符串的处理,正则表达式可以说是神兵利器,可以用几行代码搞定很多复杂的事情,特别是对数据分析,可以说是基本的门槛,必须要学会. 我写了4篇文章来讲解~~
如何入门python的正则表达式
讲完了python的类,接下来我会写几篇文章关于python里的正则表达式,正则表达式是何方神圣,到底有什么用,学好了对我们了解python有啥帮助呢,不急这些问题我们一一讲给大家听.
讲这个之前,我想多说一句,纵观it这个产业,新的技术日新月异,令人目不暇接,特别是上个世纪初90年代有很多新的东西出现,但是称的上伟大的东西却不多,不会超过二十项,我们罗列一下里面重要的:分组交换网络,缓存,web,lisp,哈希算法,unix,xml,面对对象,关系模型,还有一个就是正则表达式.
要点:
什么是正则表达式
为啥要学正则表达式
如何入门正则表达式
正则表达式长什么样
1.什么是正则表达式
所谓的正则表达式,就是一种描述字符串结构模式的形式化表达方式.正则表达式它简单,优美,功能强大,妙用无穷.
正则表达式主要是用来处理文本,或者准确说是处理对象序列,对于很多实际工作来说,可以成百倍的提高开发效率和程序质量.
有的同学也许会说,正则表达式不是很复杂吗,就正则本身来说,它的规则并不复杂,但是组合起来就复杂了,不然也不会威力无穷啊,所以学的话最好从本质入手,才能真正掌握正则的奥秘.
2.为啥要学正则表达式
1).当今计算机主要是处理文本和数据(至少目前是这样的),特别是在web兴起之后,开发任务中的有一大堆都是对字符串的处理.
2).对于python来说,无论是我们后面要学的爬虫技术还是用python的自然语言处理,还是数据的挖掘,人工智能分析都要和数据打交道,第一步都是对数据的清洗,而数据的清洗就是用正则表达式去处理的.
3).当前几乎所有的主流语言全部支持正则表达式,比如java,perl,python,php,ruby,c++,c#,js,tcl都支持正则表达式.特别是perl(这个语言最大的优势就是对正则表达式的支持),甚至功能稍微强大一些的文本编辑工具也支持.
4).正则表达式最大的好处就是能处理符合某种抽象模式的字符串,而不是固定的具体的字符串.一旦熟练掌握,可以节省大量的开发时间和大大的提升效率.(绝对是居家旅行必备啊~~神器啊)
3.如何入门正则表达式
1).学习正则表达式,入门并不难,看一些例子,一开始都是模仿,便可以粗通(就像是熟读唐诗三百首,不会作诗也会吟,一个道理)
2).然后试着在工作中解决一些实际的问题,这样你会有成就感,激发你的学习兴趣
3).但是正则表达式并不是每天都会用到,而其密码般的形象,时间长了很容易忘记,建议要先死记硬背的背住一些规则.
当然要想深入的系统的运用正则表达式,就我多年的经验来看,最好的方法还是要从根本上着手,不要只是模仿,要从本质上去理解正则表达式的内部原理,去规避陷阱,优化设计, 说说也许容易,但是要做到需要大量的反复的推敲和琢磨.
4.总览python中的正则表达式
python正则表达式长什么样,来看看它的庐山真面目,python里面有一个re的模块,re模块是在py1.5引入的,一开始有regex和regsub,不过这两个模块在py2.5都被移除了。现在就是re模块.我们先总览一下python里的正则表达式,我们应该掌握哪些内容:
re模块里面的6大函数
python最最常见的字符和符号
不要小看这个6个函数和这10几个字符,组合起来功能非常强大,先不要心急,后面几篇文章会举例子一一详细解释这些函数和字符妙用~~
好了python中的正则表达式入门就讲到这里啦,希望能给初学者一些启发,若有什么不懂的,也可以留言跟我探讨交流.
最后说一下,原创真的不易,希望大家能够给点支持,欢迎转发转发转发,留言留言留言,重要的事情说三遍,也是对我的一点鼓励和动力.