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

问题:

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

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

作者:陈裕皓

回答:

想想你是怎么学会骑自行车的?你是把自行车组成原理,空气动力学,牛顿经典力学啥的都精通一遍才上车的么? just do it :)

我一直觉得,编程在某种程度上和写作无比类似。编程语言的意义和纸笔类似,是写东西的必要条件,但不充分。学会了编程语言,不过是有了在用笔在纸上写字的能力,离能写出好的文章差的可远着呐。

能理解题主的困惑,也写给曾经有过相似困惑的初学者。我认为主要原因有这几个: 1. 学习动机不明 你学习Python最初的目的是什么?总不能是为了应聘、为了考试、为了炫耀吧? 我一直认为学习一样东西,一定是需求驱动的。因为我想实现某个东西,而去学习了某项技术。而不是因为我会了某样技能,我再去想想它还能做些什么。 拿自己举例子,我决定学习Python的时候是为了用它写爬虫。因为听说Python写起来比java便捷很多。由于这个兴趣的驱动,去学习python的网络库的使用。一开始用自带的urllib,后来发现用起来麻烦,就想自己封装一个使用简单的库。后来发现总是用split分割字符串已经不能满足对网页元素提取的需求,去简单了解了正则表达式,去学习了HTMLParser……爬虫爬下来的数据要存起来啊,有没有方便的存取数据库的框架?然后学习了SQLAlchemy。爬下来的数据光我自己看还不够酷炫,我想做个网站,就去学习了django…… 你看看为了实现我自己提出的需求,我每一个加粗的字体标出来的都能单独写一个开源项目了,如果对任何一个感兴趣都可以去深究下去。所以说并不是你写不出来,而是没有找到自己感兴趣的“需求”去驱动自己朝着这个方向钻研下去。 2. 知识面不够宽 解决一项需求不止要掌握一门语言就可以。就比如题主说目录遍历都写不出来。如果你去搜索引擎搜索:“Python 目录遍历方法”我不相信搜不出来关于“递归”、“深搜”、“宽搜”等等的关键词,如果你连这些都不懂,就得去学习学习相关的算法了。 觉得某一个需求很难实现,往往不是因为组合不出技术路线,而是你还不了解这条技术路线上的技术点。有些技术点,比如写目录遍历要用到python 的os库里的函数,并不需要你会用所有关于路径、文件操作的所有的函数怎么用。你只需要看着函数的简要说明,知道它们分别能干什么我可能需要用到哪一个就够了。同样,也不需要把整本算法书啃一遍,每种都会写,只了解它们各自特点,我目前需要掌握哪一个,就够了。以后用到的时候,能想到,再具体去看。 一年前我在知乎提了一个问题——如何写一个网页刷票器之类的东西?,半年前自问自答了一下。现在想想当初的提问,就是因为了解的太少。想做一个刷票器,连HTTP请求都不知道,却问用什么语言实现,这不是很可笑吗? 3. 思维方式 有人说,我自认为自己需求很明确,掌握的知识点够宽,还是想不出技术路线怎么办? 最初人类梦想飞上天空,用了风筝、火箭筒、巨型鸟翅膀,虽然最后都失败了,但最起码能飞行几秒钟到几分钟吧。有些问题,想不到简洁而有效的办法,但我不相信花两三天时间,苦思冥想,画画思维导图,写写思路,还写不出一个笨拙但可以解决问题的代码。我也不相信你再花一周时间闭门造车地自己试着优化,不能把这堆烂代码做些许优化。更加不相信一周之后,你和大神讨论、在网上搜索更好的方式、阅读别人的源码,还没有豁然开朗的收获。 人类能够把一些看似不相关,实则充满内在联系的事物结合在一起,碰撞出火花,这就是创造力。这种能力也是需要锻炼的,也是从量变到质变的过程。很多人说,“要多读别人的代码”、“多写项目”、“一开始只是借鉴,慢慢就懂了”、“一开始只会用轮子,后来就会造轮子”,说的是没错,但他们没说自己独立思考的过程。从独立思考,到参考借鉴,到自己创造。

总结起来就是:明确需求和动机,拓宽知识面,锻炼思维方式。

我认为正确和理性的学习方法还是有所目标,也就是究竟想学会Python来做什么。比如你想用来做个网站,那学完Python基础语法后就应该研究研究Flask,那些爬虫、数据分析、数学模型等可以放一放,等到主线的学习任务要用到其他方面的工具时,可以回过头来再学。相应的,如果你学习Python就是用来做数据工作的,那么一些Web框架和搭建网站的小练习应该先放弃不学。 我很喜欢Python,一开始学习时也是看了一些书和很多教程,会让你接触到GUI、爬虫、数学、WEB等一系列Python可用的方面,各式各样依赖不同包的小练习搞得我手足无措,挫败感很强,我大致回想了一下,大概能做出来里面练习题的三成不到,剩下的七成完全下不了手。 好在我本身学习Python还是目的性很强的,就是为了搞网站,不为别的。所以在我基本了解Python的语法后,开始读Flask的相关文档,并动手做网站。这之中会遇到各种问题,然而有赖于我一直就把全部的精力学习这一个方面,所以比分散精力去研究各种不同的包更容易获得一小步一小步的成功,每一小步的成功,解决一个小问题,我很有成就感,进而有足够的动力继续前进,最终因为我总是在一条路上前进,因而我能走的更远所以,我建议就是,我相信你有足够的能力学习好Python的基本语法知识,之后你所要做的,就是选择Python应用的一个方面,在这一个方面不断的学习、研究和动手做更多的事情。相应的,放弃Python在无关你所选择的方面的那些应用,暂时远离其他方面的练习。 我天资愚笨,唯有术业专攻。

原文发布于微信公众号 - 大数据挖掘DT数据分析(datadw)

原文发表时间:2016-05-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LiveEdu在线科技教育平台

分享25个实用的博客,有助你提高编程技巧

编程是一个不断变化的领域,一旦你选择了它作为你的职业,你就不可能停下学习的脚步了。因为科技的发展月新日异,要跟得上它发展的脚步,你必须不断地努力学习。在Forb...

2679
来自专栏知晓程序

过了这一关,你就能成为光荣的人民教师了!

教师是世间最伟大的职业,不仅是人类科学的传播者,还是学生智力的开发者,被称为「人类灵魂的工程师」。

1232
来自专栏知晓程序

秒杀微信运动!有了它,在微信群也能 PK 步数 | 亲儿子 #15

所以,除了每晚 10 点推送的微信运动好友排名,这个小程序还能直观地显示出微信群好友的运动情况。

842
来自专栏北京马哥教育

分享:自学编程的方法

不管是在某些论坛上,或者在微博上,都看到过很多人提问如何自学编程。心声共鸣啊,我就是从完全自学开启编程之路的。 要说到自学的过程、要多长时间才算学会、有什么具体...

2584
来自专栏诸葛青云的专栏

老司机学习C语言的一些心的经验!

C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖...

100
来自专栏姬小光

技术文章如何选题?

前一阵我在公司组织了“翻译与写作”兴趣小组。翻译这个东西,对于有些人来说感觉很简单,而对于英文不好或者对英文没信心的同学来说,其实是很难的一件事情。即便对于自以...

863
来自专栏AI研习社

2017 年关于 Python 案例的 Top45 文章

本文为雷锋字幕组编译的年度盘点系列,原标题Python Top 45 Articles for the Past Year (v.2018),作者Mybrid...

3896
来自专栏我分享我快乐

扁平人物头像绘制教程

前言:学生们在学习ps软件的过程中非常的认真与努力,所以对于软件的使用可以说已经很熟练了,可以为什么当我们给学生安排一些原创设计需求的时候,学生却有种无从下手的...

3397
来自专栏Crossin的编程教室

#夏日编程团#天这么热,没法出去浪,不如趁着宅在空调房里的这两个月,跟我们组团点亮你的编程技能点

最近这天热得不像样子,一非洲游客在天安门广场中暑晕倒……还是选择老老实实窝在房间里吹空调吧。 不过也有些人,学习的热情比气温还高,不写代码就不舒服!(因为会被助...

3207
来自专栏申龙斌的程序人生

学会10多种语言是种什么样的体验?

80年代末,我第一次接触了Apple II电脑上的BASIC编程语言,从此走上了一条程序人生。十多年前我在博客园上开通了自己的博客,由于下象棋时经常出点“毒”招...

2926

扫码关注云+社区