可能你是一个 Python 老手,看了很多学习办法,然而效率还是很低。明天咱们来分享一篇文章,对于如何晋升 Python 学习效率,3 个月内学会 Python,它给出了绝佳答案,心愿对你有所启发。
要防止的学习谬误
在你的编程生涯中有一个技能比其余更重要。
它就是,高效学习的能力。
如果你把握了这个本事,必将前程似锦,而且受到别人的敬佩。
如 John Sonmez 所说,至多有 5 种咱们犯的谬误会影响高效学习。我完全同意他的认识。他们是:
1、一本书从头看到底,一页不漏
这样不好因为咱们只会记住咱们读过的一小部分而且大部分书内容太宽泛以至于不值得一页不漏地读。当你刚开始学习时,学一些不会马上用的概念是工夫和精力的极大节约。
能够花工夫那样做,但不是刚开始的时候。相同,你应该把精力放在以后须要学习的局部,而疏忽其余局部。
2、没有打算地学习
这方面我是一个惯犯。有时候我会因为一个新技术而变得很兴奋,接着马上投入进去,开始应用它,买很多书,读,读,读,用,用,用,看一些相干的视频,订阅一些博客和新闻通讯,读的更多,用的更多,最初我还是原地打转,没有什么大的提高。
这很蹩脚。尽管我乐在其中,然而我却从未因而这样变成一个专家。
3、未能放大范畴
有清晰的界线能让咱们容易决定一个新的资源是否值得你花工夫。这就是为什么学习 Python 的最好的路径是试着用它开发些货色。
为了实现一个工作,你会明确 Python 哪些局部是你不须要理解的,你会发现开始你把范畴缩的越小,学到的就越多而且提高越快。
4、试着同时学两样(或更多)的货色
如果你是因为对 Django 网页利用开发感兴趣而学习 Python, 那么很可能你在犯这个谬误。
你这里学点 Python, 那里学点 Django, 再学点 Python, 而后再学点 Django. 实质上你就是咱们特立尼达人喜爱说的“陀罗泥”,即转动了很屡次,然而实际上没后退。
5、在实际之前投入太多工夫学习
因为咱们胆怯失败。咱们想在尝试之前搞清楚咱们在做什么。所以咱们在付诸行动之前会花很多工夫学习。过来我就是这样。
具备讥刺象征的是我开始晓得的越多,意识到本人不晓得的也就越多,从而又想学更多。这使我更胆怯尝试做些事件因为我晓得我会做的狗屎一样。谁会想写狗屎一样的代码呢?咱们都想写柔美的标准的 Python 代码。不要像我这样。不必等筹备好了再开始。
如果你喜爱浏览下面说的,想学习更多,那么我会感觉很开心,不过我还没有疏导你到智慧之源。
看看 John Sonmez 写的“软件开发者犯的 5 种学习谬误”。可能我匆忙地高明地总结了他的认识,但还是务必看看他写的更有意思的趣闻和更粗浅的见解。
我的倡议
步骤 1:相熟 Python
Python 社区很棒的一面是它继续关注具备好的文档。它是收费而且优良的。马上把它好好利用起来吧。
所以相熟 Python 的第一步是装置 Python,而后留几个小时的工夫疾速过一遍 Python 教程。
我该学习 Python 2 还是 Python 3? 最近有一场对于这个的强烈探讨,不过简短的答案是“学 Python 3”
而后,读下“Python 之禅”,它能够帮忙你建设写 Python 代码须要具备的思维模式。
恭喜,你当初有足够的 Python 常识写第一个应用程序了。
步骤 2:编写你的第一个程序
想一个利用,而后把它用 Python 写下来。
如果 Python 不是你的第一门语言,那么我确信你用其余语言写的程序能够植入到 Python 中。如果不管怎样你的确想写一个全新的利用,那就去做吧。然而我依然想说尝试写些能够在数天(我的第一个程序花了我 4 天工夫)或最多一周内实现的程序。这时候你只是在试着找到这个语言的感觉。
我开发的第一个应用程序是 Whitespace 解析器,最后我用 Racket 实现的,而后是 Ruby, 起初是 Haskell,当初是 Python。
你可能会说,那是我把握了语言的要点后开发的程序,我批准。因为我不再花工夫致力钻研这门语言而是致力钻研具体的利用。
我不得不再强调一下,当初的重点是学会用这门语言思考,所以尽量放弃程序简略这样注意力放在语言的应用上。
显然,我并不知道用 Python 实现这个我的项目所须要做的每一件事件该怎么做。但这就是这次实际的主题,当你只学你实现个性须要的常识时,应用程序会疏导你下一步该学什么。当前你能够常常回过头来学更多。
比方,当我实现一个虚拟机时,我晓得我须要一个全面的测试套件,然而教程外面却没有相干的介绍。尽管如此,通过疾速搜寻,我找到了一个对于 Python 单元测试框架的优良文档。我看了下我写测试用例须要用到的局部,而后就开始做了。遇到任何问题再回来看文档。
注:在用这些单元测试做过几个我的项目后,我决定要好好学习下这个框架。所以我坐下来从头到尾把文档浏览了一遍。但我是当前才投入这个工夫因为我晓得我的我的项目中会常常会用到它。聪慧点,照着做。
我偏向于渐进式开发,所以如果你看这个我的项目的提交记录,你会看到我怎么建设这个我的项目,合成问题并最终实现了它的第一个版本。记住,善始善终。
步骤 3:多学一点 Python
万岁!你曾经实现你的一个 Python 应用程序。
当初我倡议你再多花点工夫学习下这个语言,Python 性能很齐全,意味着它有一个微小而且很棒的规范库。当你实现你的应用程序的时候你可能曾经匆匆翻阅了下文档,不错,我晓得我是那样做的。再多学一点。这里是值得你学习的章节:1, 2, 3, 4, 5, 6.1, 6.2, 26.4 和 27.3.
其余局部持续浏览下即可。
你不须要 Python 渊博的常识,只有大略理解 Python 有什么性能。
当你须要一些没有涉足过的常识(或未来你打算花工夫去摸索)的时候,再多投入些工夫在其余局部才是理智的
通过找机会重构你的利用或减少更多的性能把新学到的常识使用到实际中。
步骤 4:开发,开发和开发更多的程序
不论你信不信,你当初晓得的 python 常识足够开发任何你想要的货色。
记住重要的不是语言而是你用语言做什么(除非你是钻研编程语言实践,编译器设计等之类的货色)。
如果你有相干的专业知识,比方在数学,物理,经济和生物学畛域,那么你能够把 Python 作为你的秘密武器去做一些很棒的事件进而推动那些畛域的倒退。
如果你想不出要开发什么货色,那么你能够到 Python 部落(python.freelycode.com)下来找一个课程学习一下,他家的课程都是以我的项目为主体的,在讲我的项目的过程中给你传授常识,很有实践性.
步骤 5:拓宽本人的视线
你能回想起第 5 种学习谬误吗?如果不能,再去读一下,我能够等一下。
放弃平静。
好,如果你依照这些步骤来做,那么你必定先做再去学习。这样很棒。
然而,你必定有常识破绽。
为什么?
你不晓得你不懂什么。
你永远不可能尝试用一个你从来不晓得存在的想法、概念或工具。
这是被动寻求更高级常识的时候。你实现了很多实在的利用,而且可能有很多问题。这样很好。
这两个不错的资源能够满足你的求知欲:
- 晦涩的 Python(http://shop.oreilly.com/produ…)
- 高效的 Python(http://www.effectivepython.com/)
处分
我没找到方法能把更多的倡议和揭示失当地融入到这篇文章。
- 我不得不强调 Python 文档的品质。
我曾经说过文档 Python 教程和 Python 规范库,然而很少听人议论过 Python 语言参考这个文档。当我写 Ruby 遗记了一个构造体的语法和语义时我齐全漠视了这样的文档,领有这些信息的权威资源能够让你有信念地编写程序,比方如果你遗记了 if 语句的语法,你能够查阅这个文档,其中 ”The if statement” 局部有具体解释,而不必去 Stack Overflow 上发问。
2. 浏览 PEP8。
如果你曾经写了大量的 Python, Raymond Hettinger 做了一个很棒的题为 Beyond PEP8 的演示(同样)值得认真看看。
3. 从一开始就养成写好文档的习惯。
Docstring Conventions 是一个学习你应该恪守的约定的好资源。
4. 读其他人的代码。
我倡议从 Kenneth Reitz 的代码开始。比方你能够看看 tablib,你也能够从你用过的和听过受欢迎的库外面找到其余资源。浏览代码是无益的,因为它让你看到其他人是怎么应用主动分布型的 Python。
结束语
成为一个 Python 程序员专家须要花数年工夫,然而打下松软的根底只有几周就能够。如果你依照我的倡议无意识地去实际,你就可能会胜利。