如何处理 Python 入门难以进步的现象?

如何处理 Python 入门难以进步的现象?

问题描述:

看视频看呀看呀看, 看完了,基础的都懂了 然后就想写点东西 可是无从下手呀,我以为基础不扎实,又去看视频 好了 视频看完了 想网上找点习题来做,结果简单的习题做不出来,又怀疑基础没学好呀 又看视频和网上的文章 如此的循环着 学习有一个月了 我困惑的是,很难把知识点结合起来写个简单的东西 比如说目录遍历都写不出来我知道站在岸上学不会游泳 你们可能会叫我多练 , 可是我想知道怎么去练 如何练 不能没有目的的去练, 其实我PHP也是如此的,能看懂代码就是难下笔 一身劲,不知如何用……

下面我们来看两位前辈的回答。

1

你的学习顺序反了,这当然容易陷入到迷惘之中。

我们都经过了大量的学习,才混到今天。但是我国的学校教育,可能给了很多人误导,让人丧失了自我学习的能力。

其实编程是一个超级实践课程。看书是不够的,做例子是不够的,做习题也是不够的。因为书、例子、习题都不能涵盖你未来需要的所有技能。同时,你的目标不是考试得到一个好的成绩,不是game the system,而是学会一种技能。

所以,你的学习方法错了。

我一向建议所有的初学者,所有的自学者。在学会任何一点基础知识的时候,就开始实践。从实践出发,用实践牵引你学习。

比如,你现在开始学习文件系统和目录了,那好,你可以设计一个小项目给自己。比如,在你自己的硬盘里面遍历,找出所有的mp3/wav文件,算算空间占用,等等。

在做这个小项目的时候,你会发现很多书里面不见得告诉你的知识,你也有可能发现无数种做法。

再比如,你学习到了urllib2的时候,你就应该考虑怎么做一个爬虫项目。

Python是一种非常顺手的,高效率开发的语言。用来做各种各样的好玩的工具都是可以的。看你有没有想法去做了。

学习所有语言都应该这样。

这样学习你就不会说,等到遇到一个现实问题的时候,束手无措了。

从干中学,从学中干。

我不是Python专家,但是我用Python做过一些事情,为啥呢,顺手。

多年前,我一个朋友想到了一个玩法,他找到了一个巨大无比的人名库,几千万名字,他想按照这些人的google搜索数量排序,得到一个人名的热度信息,搞不定找到我。我帮他写了一个python程序,可以每3秒去google搜索一个人名(更频繁会引发google的防spam机制)。但是这样全部搜完要很久吧,拿3000万说要3年,30000000/(60*60*24/3)。然后我再帮他写了个程序把几千万的人名切成几十份,然后他去找朋友的机器来运行,凑了几十台机器,一个月不到就抓完了。一个最简单的分布式爬虫就做好了。

做这个之前,我其实对Python没啥了解的,就是估计Python做这个很顺手,比其他语言简单就用了Python,后来果然是,其实这代码也就10-20行的样子吧。

2

Python上手极为容易,但是进阶的人却很少。Python极为容易给人一种「好像什么都会了,但是真的写起来又感觉好像都不熟悉」的感觉。除了浮躁的风气以外,不得要领我觉得也是重要的一方面。如果你感觉自己入门了,但是难以进步,说明还有救。我的建议如下:

1. 临摹。

Github有非常多项目,我学习的路上曾经花了不少时间去临摹别人写代码的方式,就是看他们怎么设计一个项目,怎么表达关系,怎么调用。但是临摹不是忘却自己,而是在学习别人的时候保留自己的风格,取其精华,去其糟粕。

2. 造轮子。

举个例子,现在有不少的用markdown生成静态页面的工具,比如Pelican,Nikola,甚至 Flask作者写的Lektor。可能你会有自己对这种工具的理解,想做一个给自己用。那么不妨自己「造这么个轮子」,其实重要的是过程,造完或者造的中途你会知道它的缺点和弊端以及优势。

尤其是看过其他工具的代码,对比下就知道哪些地方做得不好。这个过程获得的提升很大。之前都是入门,等你自己真的完整的自己做一个,做一遍,你就会发现对这部分已经属于「精通」了,以后再做对应的技术选型就非常清楚其中的利弊了。甚至还能写一篇见解深刻的文章分享给别人,否者只能看别人的汾江。

3. 集百家之长。

多看别人写的博客,订阅列表。别人代码和理解也看了,你的代码也写了,你也有了自己对一些事情的看法,剩下的就是摸索一套自己写代码,设计项目,DEBUG和解决问题的「套路」。

最后,最重要的是,你对编程这件事有兴趣,有自我驱动力,也愿意花时间。

本文来自企鹅号 - 达内Python人工智能媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏钱曙光的专栏

为什么有些语言比别的快?

来自Ars Technica的文章评论了影响编程语言速度的各个方面。Ars这个网站虽然自称技术网站,但编程方面的文章一般比较浅,这篇也不例外。虽然文字很长,但无...

21750
来自专栏程序员互动联盟

月薪2W需要具备什么能力?

很多初学编程的人,都会问到啥时候才能月薪2W,月薪2W都做哪些事情?对于做软件的人来说2万是个门槛,很多人做一辈子都达不到这个水准,能力高的人可能用不了几年就能...

32790
来自专栏安恒信息

世界图书日|看看你的书单还缺哪本书

“读史使人明智,读诗使人灵秀,数学使人周密,科学使人深刻,伦理学使人庄重,逻辑修辞使人善辩,凡有所学,皆成性格。 ——培根”

9910
来自专栏企鹅号快讯

Java初学者的福利

今天给大家分享下 Java 整套的学习资源,包括:视频、书籍(电子书)、编程工具。初学者学习编程的正确方式是:视频 + 书籍。 书籍比较系统,由浅入深,但是如果...

22760
来自专栏JAVA高级架构

同是3年开发经验,为什么你的技术比别人差很多?

你有没有静下心来思考过:同样是做了x年Java开发,为什么你的技术比别人差很多? 其实技术水平的高低和个人智商关系不大(毕竟能做Java编程开发大家都不会差),...

18310
来自专栏PPV课数据科学社区

【学习】1月份推荐给程序员们的技术书书单

时光飞逝,不知不觉,微信君已经和小伙伴们走过了2014,感谢你们的支持。小编会在2015年加倍努力,与你们一起分享好书。 2015年,首月,好多技术书的付印计划...

398100
来自专栏帘卷西风的专栏

游戏开发图书推荐--我读过的技术经典图书

很多同学问我学游戏开发应该看些什么书,我在这里抛砖引玉,给一份推荐表,希望大家共同提高。由于本人英文不太好,推荐的大部书籍都是国人编写的,有些经典的外文图书可...

13310
来自专栏CreateAMind

李飞飞CS231n机器视觉课程-全部视频ppt及中文翻译资源大全

http://vision.stanford.edu/teaching/cs231n/syllabus.html 官方站点资源如下,视频课程ppt都有

31820
来自专栏python小白到大牛

想要成为python大神,这17个老司机收藏的国外免费学习网站不可错过!

如果你准备学习web开发, Python是一个不错的开始,甚至想做游戏的话,用Python来开发游戏的资源也有很多。

65820
来自专栏企鹅号快讯

执行效率太低又怎样?Python 照样火过 Java、C/C+

关键时刻,第一时间送达! 世界上有成百上千种编程语言,时代更迭下不断有新的语言产生和消亡,但 Java 的江湖地位始终无人撼动,长期霸占排行榜榜首。 但是近年来...

19800

扫码关注云+社区

领取腾讯云代金券