学了很久的Python一直原地打转,不知道如何学下去,这是很多新手都会遇到的问题。
我记得第一次接触 Python 是 2011 年,在逛网站的时候,无意中看到一篇介绍 Python 的文章,觉得这门语言很有特色,于是想系统地学习一下。怎么学呢,市面的上书籍琳琅满目,一开始你可能不知道看哪本,有两个方法,第一个是去豆瓣看书评,好书口碑一定不错,第二个办法就是问有经验的人,他们能给你最实际的意义。我的建议是入门书最好是能在一周到两周内能完成的,那些大部头书就不适合拿来入门,可以放到后面。入门阶段你基本上就是跟着教程一边看一边写,把书里面的实例全部自己敲一遍,甚至两遍三遍。
博客也是一种学习方式,但是不够系统,真正要全面了解一门语言,不是几篇文章能讲清楚的,况且,博客的严谨度没有书籍那么高。所以,博客只能是作为你扩充知识一种的渠道。
学完基础语法后,很多人就停在这里不知道接下来学什么?其实这里面有个误区,你的目的不是为了学习而学习,虽然说我们要做终身学习者,但是我们学习的目的是为了学以致用,接下来,你要琢磨着怎么用你所学到的东西来解决某个问题或者实现某样东西,例如用程序自动完成工作中的一些繁琐任务,或者做个记账本之类的记录自己每天的支出。畢卡索有句名言:Good artists copy, great artists steal,所以,先从参考借鉴别人好的东西开始。
这个时候你能看懂部分别人写的代码,自己也能写些简单的代码,接下来,你要去找完整的练手项目来做,没有什么比动手更有效果了,我记得当初学完 Python 的基础教程后看的第一个实战教程就是 Django Book(现在内容已经过时),这是教你手把手写个网站的教程,写完之后你就知道完成一个项目应该是怎样的,会涉及哪些东西,接下来你就可以按照这个思路写自己的第一个作品。
去哪里找这些练手项目呢?知乎有个问题「Python 的练手项目有哪些值得推荐?」这里面虽然推荐了很多项目,但是都不够系统、完整。最好的教程应该是手把手教你,有代码,有讲解的那种。如果只是纯代码的项目,这个阶段对你来说还是有困难的,因为你不知道思路。所以,像那些500lines这样的项目并不适合刚入门的你,还是去找完整的教程吧。比如在线教程 The-Flask-Mega-Tutorial,A Complete Beginner's Guide to Django,Let’s Build A Web Server,当然你可以去买些纸质的书籍,但是实战类的教程有个缺点就是内容很容易过时。
在学习的过程中遇到问题怎么办?互联网这么发达的今天,一定有办法找个问题的答案,因为你遇到的问题别人也遇到过,你唯一要掌握的就是如何用 Google 去找答案,虽然用会百度也能找到答案,但是我们更倾向于找那些能为我们节省时间的工具,显然百度并不是。
到此,你可能已经能独立完成一些简单的项目了。接下来你需要回过头来继续学习,看一些进阶的书籍,比如 Python Cookbook,流畅的Python,Python学习手册、Effective Python、Python tricks 等等。除了Python相关的,你还要去了解数据库知识,网络知识,系统知识,算法知识。当你意识到这些东西都要学了之后,你已经具备成为一名优秀程序员的潜力了。
除了看书,还有看别人写的代码,看那些优秀的开源代码,向高手学习。思考代码为什么这么写?有什么好处?是不是最佳写法?看源代码的好处可以让你更专业。如何看源代码?看那些在你项目中使用过的框架和库,因为看源代码必须是建立在你已经知道怎么使用的基础之上,否则看了也是一头雾水。大型的框架不建议看或者有选择性的看,因为大项目是经过很多年不断迭代演进过来的,你很难短时间内把握作者的思想。与此同时,继续实践,改进你的项目,使之更像是专业人士写出来代码。
不断养成多思考,勤记录,乐于分享的习惯,学习是一辈子的事,你学的越多,不知道的越多,又驱使你去学更多的东西。
原文发布时间为:2018-08-05
本文作者:刘志军
本文来自云栖社区合作伙伴“ Python爱好者社区”,了解相关信息可以关注“ Python爱好者社区”