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

阅读文本大概需要 3.8 分钟。

上次我发布了一篇文章「GitHub 年度报告,2017 年最受欢迎的编程语言」之后,GitHub 的数据表明,Python 成为了 2017 年最火热的语言,自此之后,很多读者开始了学习 Python 之路,我也经常收到很多读者的留言,问我该如何学好 Python 这门语言呢?说实话,我自己本身暂不需要学习 Python,因为我的职位关系,如果公司需要 Python 相关的人才,不需要我来顶上去,我招人就可以了,所以,因为我没有亲身经历,就很难给大家写一篇这样的经验贴。

而今天给大家分享下《编程小白的第一本 Python 入门书》作者侯爵老师学习 Python 的经验,用他实际经历告诉大家,一个非科班出身、从入门到精通的 Python 工程师是怎么炼成的,相信会对大家有所启发。

******华丽的分割线******

在我决心开始学编程的时候,由于工作很忙,每天只能抽出来1小时去学习编程。那时候翻遍了知乎上大家推荐的国内外的书和课程,但教程中抽象枯燥的术语根本看不懂,基础教程大多都是几十章的教程或者是上百个视频,一点点看下去感觉像是在从 A 到 Z 背字典,就算背下来了也不知道怎么应用。而教程里的例子大多是1+1、小明的身高这类低龄益智题,让我觉得很无聊,感觉学了也没什么用,提不起学习的兴趣。那段时间学学停停,学到很难受了就停两天,就会觉得有点不服气,为什么我学不会呢?

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

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

用了这样的学习方法之后,我的编程学习效率高了许多,不到两周时间就过完了主要的 Python 基础知识,建立起了基本的知识模型。回过头来想,之所以这种方法适合我,能让我学会,是因为我有了情景,我把编程用起来了。之前看很多教程,基本都是从第一章开始觉得会了,但实际上又不知道学的这个要怎么去使,这种感觉就一直在我的脑子里嗡嗡的转。那些教程实际上讲的是语法规则,但是这个东西不能教会你说话。促使你学会说话的是情景,是你妈妈问你「宝宝你吃苹果么?」,你就自然理解了吃的意思是什么。而那些教程都在一丝不苟的教语法,但有了情景,我这样的初学者才能学会。

有了这段经历之后,我就特别能理解初学者的感受。有些程序员会说,“Python 很简单啊,看一遍文档就都懂了”(潜台词:我很聪明,我是学霸)、“如果连 Python 都学不会,你就不要学编程了”(潜台词:只有我这样有天赋的人才能学编程)。我觉得可能是他们做这一行太久了,已经忘了初学时的痛苦和挣扎了,人是会篡改记忆的,会认为现在拥有的都是轻松获得的,但真实的经历永远是坎坷曲折的。

为了能让更多的编程小白轻松地入门编程,我把自己的学习经验结合 Python 中的核心知识,写了一本入门书(截止目前这本书已经有十万多读者了)。由于这段特殊的经历,各种机会向我抛出橄榄枝,我又做了两门课程,还成为网易云课堂 Python 微专业的合作伙伴。

 ??

信号与噪音 

严格来说,你接触一门新的技能的时候,其实从信息的角度来讲,方方面面的信息你都应该知道。比如学滑雪的时候,少任何一点你都不能成为一个滑雪高手,但对于初学者最先应该知道的是怎样安全的滑行和刹车。也就是信息对于初学者是有重点的,但是很多编程教学者没做到这一点,他们把所有的信息都铺了出来。

筛选重要的信息,不光要选择那些看起来最明显的信息,同时还要选择那些为后面埋下根基的信息。比如说我要盖一座桥,也许这块现在不盖东西,但要把暗桩打好,让以后盖桥的时候有地方下脚。有本书叫《信号与噪音》,这也是我在做的事情,筛选出来对初学者入门有帮助的信号,暂时不需要关注的噪音就做降噪处理。

??

以使用为核心的学习

你在 Python 官网看到的文档,是语言的设计者和社区来撰写的,这个已经很权威、很官方了,语法规则讲的很全面,但它是以语言特性为中心的教学模式。初学者刚入门的时候不是为了了解语言,而是为了使用而学习,所以说对我来讲很有挑战的一点是,我找出了一个以使用为核心的教学模式。

这就如同于你刚一岁学说话的时候,你妈妈给你讲语法和语言学,这肯定是不对的,大家都知道这个道理,但是一换到一门形式语言、讲一门编程语言的时候,大家就不考虑初学者如何使用了。

实际上,能不能学了就会用,取决于有没有情景化的信息,有没有还原情景的上下文信息。看过了足够多的情景之后,初学者就能通过模仿获得经验,从而知道怎么把学到的东西用起来。

??

带着兴趣学下去

最好阅读的文字媒介,在现实生活中一定是杂志,因为它经过精心的排版,在厕所的5分钟都能随手拿来看一点。我自己有阅读障碍和注意力缺失的问题,所以我会很看重视觉化呈现,至少给那些像我一样觉得纯文字很枯燥的人一条出路,可以通过视觉化的内容去更高效的理解。

和纸质杂志不同的地方在于,课程中穿插了一些交互式的练习,可以让你练练手,获得即时反馈。就像是健身的时候,你去看教学视频,记忆的是一种影像。但是在做的时候,积累的是一种通过实践习得的经验。获得这种实践经验就是练习的必要性。但前提是要在大方向清楚的情况下去练习,否则练得越多错的越多,会让你产生很多的困惑,让你痛苦。

我希望能通过这些传达信息效率更高的方式,帮助更多新手、曾经从入门到放弃的人、被大多数教程忽视的人,充满兴趣地跨过入门的困境,带着学习的热情在自学编程的道路上走的更远。

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

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

10 月 31 日,麻瓜编程的侯爵老师将会在网易云课堂上进行一场免费的直播分享,主题是《定制你的 Python 学习路径》。在这场直播里,我将会谈一谈计算机专业与非专业人士在 Python 这条学习路径上有何区别。也会与你聊一聊如何根据自身情况定制一条合适的学习路径。

关于这场直播,你需要了解

| 分享人是谁?

本次直播的分享人是麻瓜编程的创始人侯爵老师,他是 10 万读者喜爱的《编程小白的第一本 Python 入门书》的作者,创作过网易云课堂上最畅销的编程课。

| 我能学到什么?

这场直播主要解决两个问题。

1)计算机专业与非专业人士在 Python 这条学习路径上有何区别?

2)如何根据自身情况定制一条合适的学习路径?

| 收费吗?

不收费:) 本次直播为免费分享

| 如何参与直播?

扫描下方 QQ 群二维码,加入直播交流群~在直播开始之前,助教 MM 将会放出直播地址,并挥舞小皮鞭敦促大家去听课~

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

最后推荐下网易云课堂《Python Web 开发工程师》。

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

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

10 月 25 日-11 月 3 日,《前端开发工程师》微专业正在进行课程团购活动。预付1元,可在尾款期抵扣 200 元,有兴趣的同学欢迎戳“阅读原文”了解活动详情~