您的位置:首页 > 编程语言 > Python开发

有人对他说:如果连 Python 都学不会,你就不要学编程了

2017-12-03 00:00 344 查看
今年10月的时候,GitHub 发布了 2017 年度的观察报告,盘点了最受欢迎的编程语言、开源项目等诸多年度数据。做为一个程序员,当然最关心编程语言。没有想到的是,这次 GitHub 编程兵器谱上排名前三位的居然是 JavaScript,Python 和 Java。



GitHub 上的开源项目所使用的编程语言多达 337 种,由于JavaScript 天然的开源特性和前端的火爆程度,排名第一实至名归,并且遥遥领先。
Python 则是一个进击的黑马,去年的第三名,成功赶超老牌劲旅 Java,排在了第二位。今年 Python 的 PR 比去年增加了 40%,毫无疑问,它的火爆得益于最近人工智能、深度学习和数据分析等相关领域的火热。
前段时间,有读者在后台留言问我,「新手怎入门编程,怎么避免从入门到放弃?」,在我看来,这个问题很难三言两语就说清楚。
有一次,一个朋友向我推荐了侯爵的课程和教程,我一看,确实比我当初自学时的教程更生动易懂一些,看得出来排版和设计上也花了些心思,看着不觉得枯燥。
后来知道,侯爵本人的学习经历也和我接触过的人不太一样,他是设计背景出身的,不像科班出身的很自然就能养成编程思维,而是通过自学克服了入门的困境。
接下来的这篇文章来自侯爵,讲述了一个非科班出身、从入门到精通的Python工程师是怎么炼成的。 作者 | 侯爵(麻瓜编程创始人)
在我决心开始学编程的时候,由于工作很忙,每天只能抽出来1小时去学习编程。那时候翻遍了知乎上大家推荐的国内外的书和课程,但教程中抽象枯燥的术语根本看不懂,基础教程大多都是几十章的教程或者是上百个视频,一点点看下去感觉像是在从 A 到 Z 背字典,就算背下来了也不知道怎么应用。而教程里的例子大多是1+1、小明的身高这类低龄益智题,让我觉得很无聊,感觉学了也没什么用,提不起学习的兴趣。那段时间学学停停,学到很难受了就停两天,就会觉得有点不服气,为什么我学不会呢?


后来我偶然看到了一个国外的博客,它里面用了一个车的例子,让我真正理解了方法和函数的关系。那时候我突然意识到,原来抽象概念是可以学会的,只要跟自己的实际生活相关联,总能找到一些类比去理解抽象概念。遗憾的是那个博客里面并不是每个概念都有这样的例子,于是我就试着自己去想象一些类比来帮助自己理解抽象概念,然后再敲一些简单的代码去验证,看看是不是和我猜想的一样的。

用了这样的学习方法之后,我的编程学习效率高了许多,不到两周时间就过完了主要的 Python 基础知识,建立起了基本的知识模型。回过头来想,之所以这种方法适合我,能让我学会,是因为我有了情景,我把编程用起来了。之前看很多教程,基本都是从第一章开始觉得会了,但实际上又不知道学的这个要怎么去使,这种感觉就一直在我的脑子里嗡嗡的转。那些教程实际上讲的是语法规则,但是这个东西不能教会你说话。促使你学会说话的是情景,是你妈妈问你「宝宝你吃苹果么?」,你就自然理解了吃的意思是什么。而那些教程都在一丝不苟的教语法,但有了情景,我这样的初学者才能学会。
有了这段经历之后,我就特别能理解初学者的感受。有些程序员会说,“Python 很简单啊,看一遍文档就都懂了”(潜台词:我很聪明,我是学霸)、“如果连 Python 都学不会,你就不要学编程了”(潜台词:只有我这样有天赋的人才能学编程)。我觉得可能是他们做这一行太久了,已经忘了初学时的痛苦和挣扎了,人是会篡改记忆的,会认为现在拥有的都是轻松获得的,但真实的经历永远是坎坷曲折的。
为了能让更多的编程小白轻松地入门编程,我把自己的学习经验结合 Python 中的核心知识,写了一本入门书(截止目前这本书已经有十万多读者了)。由于这段特殊的经历,各种机会向我抛出橄榄枝,我又做了两门课程,还成为网易云课堂 Python 微专业的合作伙伴。
 ?信号与噪音 
严格来说,你接触一门新的技能的时候,其实从信息的角度来讲,方方面面的信息你都应该知道。比如学滑雪的时候,少任何一点你都不能成为一个滑雪高手,但对于初学者最先应该知道的是怎样安全的滑行和刹车。也就是信息对于初学者是有重点的,但是很多编程教学者没做到这一点,他们把所有的信息都铺了出来。
筛选重要的信息,不光要选择那些看起来最明显的信息,同时还要选择那些为后面埋下根基的信息。比如说我要盖一座桥,也许这块现在不盖东西,但要把暗桩打好,让以后盖桥的时候有地方下脚。有本书叫《信号与噪音》,这也是我在做的事情,筛选出来对初学者入门有帮助的信号,暂时不需要关注的噪音就做降噪处理。
?以使用为核心的学习
你在 Python 官网看到的文档,是语言的设计者和社区来撰写的,这个已经很权威、很官方了,语法规则讲的很全面,但它是以语言特性为中心的教学模式。初学者刚入门的时候不是为了了解语言,而是为了使用而学习,所以说对我来讲很有挑战的一点是,我找出了一个以使用为核心的教学模式
这就如同于你刚一岁学说话的时候,你妈妈给你讲语法和语言学,这肯定是不对的,大家都知道这个道理,但是一换到一门形式语言、讲一门编程语言的时候,大家就不考虑初学者如何使用了。
实际上,能不能学了就会用,取决于有没有情景化的信息,有没有还原情景的上下文信息。看过了足够多的情景之后,初学者就能通过模仿获得经验,从而知道怎么把学到的东西用起来。?带着兴趣学下去
最好阅读的文字媒介,在现实生活中一定是杂志,因为它经过精心的排版,在厕所的5分钟都能随手拿来看一点。我自己有阅读障碍和注意力缺失的问题,所以我会很看重视觉化呈现,至少给那些像我一样觉得纯文字很枯燥的人一条出路,可以通过视觉化的内容去更高效的理解。
和纸质杂志不同的地方在于,课程中穿插了一些交互式的练习,可以让你练练手,获得即时反馈。就像是健身的时候,你去看教学视频,记忆的是一种影像。但是在做的时候,积累的是一种通过实践习得的经验。获得这种实践经验就是练习的必要性。但前提是要在大方向清楚的情况下去练习,否则练得越多错的越多,会让你产生很多的困惑,让你痛苦。
我希望能通过这些传达信息效率更高的方式,帮助更多新手、曾经从入门到放弃的人、被大多数教程忽视的人,充满兴趣地跨过入门的困境,带着学习的热情在自学编程的道路上走的更远。



感谢你能耐着性子看到这里。能有兴趣阅读这么多文字到这里的,想必对于Python学习有一定的兴趣。

12月5日,麻瓜编程的侯爵老师将会在网易云课堂上进行一场免费的直播分享,主题是《初学 Python 遇到的问题和解决方案》。在这场直播里,他将会和大家来聊聊初学 Python 遇到的问题和解决方案。
关于这场直播,你需要了解| 分享人是谁?

本次直播的分享人是麻瓜编程的创始人侯爵老师,他是10万读者喜爱的《编程小白的第一本 Python 入门书》的作者,创作过网易云课堂上最畅销的编程课。
| 我能学到什么?
这场直播主要解决两个问题:1)初学 Python 的过程中会遇到什么问题?2)学习Python时遇到问题了,有什么解决方案?
| 收费吗?
不收费:) 本次直播为免费分享
| 如何参与直播?
扫描下方QQ群二维码,加入直播交流群~在直播开始之前,助教MM将会放出直播地址,并挥舞小皮鞭敦促大家去听课~



以下是一条诚意满满的硬广网易云课堂《Python Web 开发工程师》微专业由麻瓜编程与网易云课堂联合开发,课程以实战项目为主线,你会在实践中循序渐进的掌握完成一个网站的关键知识,独立完成实战项目的前后端开发,用6周做出别人用4个月才能做出的成果



12月4日-12月13日,《Python Web 开发工程师》微专业正在进行课程促销活动。在折扣的基础上,领券还可以立减100元,有兴趣的同学欢迎戳“阅读原文”了解活动详情~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: