一说到编程,好多人就会自我劝退:
我英语不行!
我数学不行!
其实编程很简单,我曾尝试过,在3天时间里教会了多名零基础的高中学生,达到了可以在百度的帮助下,根据自己的想法,去编写程序并运行、排错的水平。
这证明了,只要你愿意陪我一起花时间,按照我的思路去学习,你也可以完成对编程的学习。
文:慕若曦
本节课我们主要讨论怎么学Python,其实我可以直接把需要的东西全部打包好,但我觉得这样好像没什么意思,自己动手才有快乐!
01
英语不好,能学编程吗?
我经常给学生说,编程之所以看起来全是单词,完全是因为这门语言的发明者是老外而已。
你可以看看下图,国产的易语言,完全不需要英文。
这么说起来,好像python和英文联系很密切……毕竟龟叔不会说汉语。
实际上,我们在编程中使用的英文单词是有限的,比如C语言的,在ASCII标准下只有32个关键字。
这些关键字是C语言的灵*,抛开这些关键字以外的单词都是人为定义的。
而在Python中,这样的关键字有36个。
你可以看看这36个*色的单词,相信我,绝大部分你都是认识的!
02
数学不好,能学编程吗?
这是一个很神奇的问题,我们要的是程序猿,不是数学家!!!
好多人觉得数学和编程有关,实际上是因为在很多编程的算法练习题上,都是对数学问题进行求解。
比如下面这道题,求解以内的质数有哪些?
好多人一看,啊,质数,这是个什么*?
好难啊,不学了不学了。
实际上,这类练习题重点在于帮助大家掌握诸如forinifbreakelse等关键词的用法,它在我们实际编程中并没有起到任何用处。
我们的老师经常会说一句话:学好数理化,走遍天下全不怕。
然而你发现等你到了社会上,好像只有在和钱打交道的时候,能用到小学数学?
而我们的编程,是对我们世界中事物联系的一种映射。
编程从来不是凭空造物,不能说我写一个程序,银行就给我刷刷刷吐钱。
要实现这个目的,你最起码得知道,一个可以被使用的、可行的让银行吐钱的方法,然后才能把它转换成代码。
这种解决问题的方法,我们称之为算法。
那么问题又绕回来了,你在解决什么问题的时候用到数学了???
03
我零基础啊,怎么学呢?
首先不能着急,你应该享受水到渠成的乐趣,每天学一个小知识点,照着我每天留的练习题进行练习,积少成多。
通常情况下我留的练习题,要么和今日的知识点有关,要么和一些有趣的、能激发你学习兴趣的段子有关,难度不高,但可以锻炼你的动手能力和发散思维。
比如昨天留的课后作业:龟叔去谷歌面试,简历上写的什么内容?
如果你认真的看完了昨天的内容,你应该知道,龟叔指的是Python的作者GuidovanRossum,百度搜索:GuidovanRossum谷歌面试,就能很轻松找到这个题的答案。
当然,这个题是个段子,我们没有任何迹象能证明这是龟叔的经历,但至少以后有人和你谈起IwrotePython,你知道他指的是龟叔去谷歌面试这个梗。
04
需要买什么书籍呢?
我一向认为看书是学习最慢的一种方式……
我不鼓励看书,根据出书人的水平,他往往会忽略很多重点。
你可以了解一下谭浩强老师,吉尼斯纪录保持者,编著出版了+本计算机著作,主编了+本计算机书籍,是出版科技著作数量最多的人。
这样一个神人,出的C语言书籍,到了第四版,依旧被评价为:害人。
因为书里有很多错误,还有很多神仙语法,从整体上来说适合考试,不适合学习。
这和时代背景有关,谭老师写书的年代,国内还没有编程类的书籍,连翻译的文献都很少。
谭老师在那个年代开始写各种入门书籍,毫无疑问是一盏指路明灯。
伟人都说了,我们要摸着石头过河,谭老师也是这么做的,学习,理解,总结,成书。
但问题出在,他不是一名程序猿,所以他的书可以被拿来学习,但无法拿来深入。
我有个学长告诉我,上大学那会儿,教材用的老谭的书,老师在第一课开始就布置了任务:到考试前,找到书中的一百处错误。
他当时是奔溃的。
然而就是这么一本书,你会发现,到现在为止,各学校依旧用的这本书。
为什么?
因为没有太多的选择,比这本书更好,更适合零基础的人学习,更大的原因也是学校的老师很难接受新课本,照本宣科谁都会,研究新教材写教案,就摸不清知识点的轻重缓急了。
对于Python而言,选择似乎更多一点儿,类似于刘志*老师的《Python之禅》、leoxin的《菜鸟学Python》,还有国外的一些译本,《Python核心编程》等,都是非常棒的,系统性非常强的书籍。
但我依旧不是很推荐你去看书。
这和现代人的习惯有关,买来书,有空一定学!
然后就没下文了。
我推荐你去搜一个人名:廖雪峰。
在他的博客你能找到一个Python教程,这套教程配图丰富,语言诙谐有趣,每一课还都录了对应的视频,非常适合初学者入门。
最重要的是,这套课程现在依旧在查错补缺,维护更新。
干货Get!
05
只看廖雪峰的图文教程就够了吗?
从理想状态考虑,廖雪峰的教程很系统很完善,理论上来说,看完了他的图文教程,你最起码能达到,自己独立完成创作程序的水准。
但实际上,只把书给你就能学会,清华北大早就被学生挤爆了。
因此我还是推荐,结合我的教程,与廖雪峰的图文对照着学习,查缺补漏,看看有什么是我提到了,但是廖雪峰没提到的,有什么是廖雪峰提到了,但我没讲到的。
因为每个人的习惯不同,我会调整部分知识点的先后顺序。如果着急学某一部分,可以先看看廖雪峰的打打基础。
我的进度会非常慢,因为码字、配图,这真是一件非常折磨人的事情。
不过你也别着急,每天学一点儿,积少成多,在不知不觉中你就会发现你已经学会了python!
对了,我比较菜,所以难免会有写错的地方,我尽量考证一些问题,如果有不同见解,或者发现了教程中的一些错误,欢迎告诉我,非常感谢!
06
作业
昨天的第一个完成作业的童鞋是:
lhz作业解析在今天的教程中有提到,大家加油鸭!
今天的作业:
找到廖雪峰的博客,在python教程中,找到python简介一文。
阅读后,将其课后题的正确答案发到本