作为一个从事软件开发12年的老鸟,从自身开始的入门坎坷之路以及身边朋友的编程入门之路的观察交流,有太多的深刻回忆和想说的。从当初学习C++的坎坷之路,到后来自学python(仅用一天的时间就开始业务代码的编写)以及自学其它语言。算是小有心得,在此分享给初学者。
我会从书籍选取、学习方法、疑难问题处理、实践这4大方面来谈谈初学者的误区,并给出行之有效的正确建议。
01书籍挑选
选页面最少的一本书来看,对于Python来说100多页左右的书最好。扔掉那些500页以上的书。不要一口气吃个胖子
我很理解初学者的心态,啥都想学、啥都想要。但是,我们需要步步为营,需要明白一个道理:少就是多,慢就是快。
你想想,500或是800多页的书,你得看多久?等你看到这本书中间的时间,有可能前面学到的知识就已经忘了。越到后面你忘记的越多。这么厚的书只适合当工具书。时间一长,你当初的雄心壮志全没了,你的信心也因此一落千丈,然后,就没有然后了…
这100多页的书,包含最基本最常用的语法和库,以及基本使用方法就足够了。在实际工作中,业务代码中的80%编码,使用这些基本的语法和库就可以搞定。而剩下的20%,通过你日积月累的经验,加上后期的学习以及搜索引擎的帮忙,就可以搞定了。
就如同网页中五颜六色的图片,都是由r(红),g(绿),b(蓝)这3个颜色组合而成。对于初学者,只需要用最短的时间,把最常用的基础语法学会就可以了。其它的知识,都是这些基础知识的组合。
02学习方法俗话说:眼过千遍,不如手过一遍
很多人,看书是很快,书上的知识都看懂了,但动手敲代码的时候就忘了或是过一段时间就忘了。解决这个问题的最好方法就是动手,有以下2个动手途径:
在代码编辑器中动手把代码敲一遍(不要对着代码边看边敲,要按自己看书时,理解的逻辑来写);
把你理解的知识写成博客,随便那个博客都可以。忌三天打鱼、两天晒网
既然下定决心要学好python这门语言,那么就要留下充足合理的时间,否则我敢保证,等你玩个3天一个周再来学的时候,前面的知识你全忘完了,又得从头开始学。这时候你的信心再一次被消耗,学习周期再次被延长。
宜温故而知新
对初学者来说,最头疼的是刚学过的知识,敲代码的时候就是想不起来…。这是很正常的,我们大脑每天要接收这么多的信息,旧信息难免被新信息给覆盖。我们要做的就是:再看一遍,一遍不行就来n遍。
我当时看C++数据,对于指针,常对象,常指针,指针常量等知识,经常忘记,但是没关系,忘记一次就看一次,经过n此这样的过程,再不不会忘了,有人说我上班的时候没时间看,那你就下班后在家里看,1个小时总能抽出时间吧。宜向专家学习
牛顿曾说过:如果说我看的比别人更远些,那是因为我站在巨人的肩膀上。
专家往往经验丰富,知识面广,在某一知识领域深耕多年,进行过深入研究。你的疑惑或问题,在专家面前就是小菜一碟;你的技术水平的止步不前,经过专家的指点和传授,也许顿时茅塞顿开,青云而上。
向专家学习,是你成为专家最快的道路之一,也是你成长最快的道路之一。
有人说,我身边没有专家,你可以看专家的书、教程、视频,等等。其实,不一定非要是专家,你身边比你厉害的,你都可以向他学习。
大家要是看过武侠电影的,会有这样一个场景,一个傻傻的愣头青,一个意外一次变故或是被坏人推下悬崖,结果大难不死,回来后武功大增,秒杀江湖大佬。就是因为他们遇到了高人(专家),得到了高人的秘籍或是指点(经验)。
03疑难问题处理我们的目前是星辰大海,不要让自己独自陷于一个小点上
有很多新手朋友,一定会遇到下面的场景:
Q:看书的时候,遇到一处不理解的知识点,这时候他会干嘛,他会停在那儿,一直思考,一直尝试,结果一小时过去了,半天过去了,一天过去了,还是不理解。
A:遇到这种问题时,对于新手,一定不要纠结于这一个问题,超过1个小时,就不要去想了,可以跳过,继续看后面的知识点,也许等你后面的知识学完后,再回头看这个问题,会发现问题豁然开朗。
Q:写代码的时候,出现一个bug或是一个难点,调试了n次,试了n种方案,还是解决不了。
A:遇到这种问题时,对于新手,超过2个小时或是最多半天,就要停下来。你需要做的是:出去走走,放松一下,让头脑清晰;
重新梳理一下思路和问题;
或是求助其他人,与其他人讲讲你的问题;
或是网络搜索以及专业的论坛进行提问;
或是换一种方案,绕过这个问题。
04实践
实践是检验真理的唯一标准,实践也是你学习最快的方法
一切困难都是纸老虎
通过前面3步的学习和理论储备,你已经具备写一个完整的小型项目的能力。
你可以以你生活或工作中的需求作为这个项目要实现的目标;如果没有,那就在网上找;如果你就想要一个现成的项目,你也可以关注我,我会不定期的分享一些适合新手的小项目。
选择项目的时候,不要太复杂。给自己列个计划,把目标划分为一个个的小目标。
通过实践,在写代码的时候,你会发现这个类还有其它方法能完成我的需求没,你会查看类的文档,终于找到了这方法,真是太好用了。你代码写着写着,发现处理一堆任务好慢,你就想怎么让它跑的更快,你在百度上一查,知道有个叫多进程/多线程的东东,然后你查了一下用法,发现还是蛮简单的嘛。
此处省略一万个新发现…
1个月过去了,时间过得好快。你蓦然回首,发现自己竟然掌握了这么多的知识,还完成了一个功能丰富令人满意的项目。
更多Python精彩文章、新手学习干货,欢迎一起交流学习!