1. 聚能聊>
  2. 话题详情

掌握Python全栈,你不需要10000小时!

掌握一门技术,到底需要多少时间?

21天?1年?3年?

不同的人可能心里有不同的信仰的答案。其中有一个叫做“一万小时定律”的理论,目前比较多人愿意相信,这个理论主要说的是:

“人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成世界级大师的必要条件。”

如果按每天8小时的投入,周末不休息,10000小时就是3年半的时间,如果按每天3小时的时间投入进行计算,同样不休息,则需要9年的时间。

那如果一个人要从零基础开始比较熟练地掌握Python全栈开发,到底需要多少时间?

_

我们不可否认一万小时定律中所宣扬的时间投入与反复练习的重要性,但时间的投入是否是成为某个领域高手的最重要的因素呢?

其实不然,除了时间投入这一重要因素之外,其实学习方法、方向、个人对规律发现与总结的能力…等等都是非常重要的因素。

就像我们从小学开始学习英语,一直学到大学、硕士、博士,我们的英语就一定都很好吗?为什么?相信####对于这个问题,大家都会有所思考。

对于各个领域,同样适用,方向不对,方法不好,收效必然甚为,即使投入再多的时间。若方向没问题,方法较好,则必然事半功倍。

我可以很负责任地告诉你:从零基础到掌握Python全栈根本不需要10000小时。

在此将分享一些我个人的学习方法,仅供大家参考,大家多多讨论交流。以下将进入正题。

方法1:要学就成体系地学,不搞“题海战术”

记得高中的时候,有一种名为“题海战术”的学习方法,简言之就是不断刷题,反复练习。这种方法有效果吗?当然有效,但需要投入时间很多,并且也不是最有效的。实际上,就拿高中的数学为例,体系非常明确,题型也是万变不离其宗的,如果你可以把这些体系理清楚,并且把这些题型真正的深入掌握,而不是走马观花随便看看,想拿高分真不难,如果你把这些体系与经典题型都深入掌握了,题海都是浮云。

学习Python也一样,我们需要成体系地学,这样做有一个好处,就是你对Python的知识掌握不会凌乱,怎么学都不乱,如果不事先建立好Python知识体系,你会发现,越学得多,反而脑海中的知识越乱。比如,你学Python基础,无论怎么变化,肯定可以使用数据类型、基础语法、分支结构与循环结构、函数与模块、文件操作与数据库操作…等等这一套体系去理解。

值得说明的是,最开始的时候需要建立体系,但此时你脑海中的知识体系并不一定是非常完备的,比如最开始时,你的Python基础的体系里面可能没有关于迭代器与生成器的知识,没有关系,在遇到这些新的知识的时候,只需要在原有的知识体系中增加这一分支即可,就相当于你的知识体系是一本书,在遇到新知识的时候,可以增加章节,这样你的知识脉络会非常清晰。

关于Python的知识体系,大家可以自行搜索资料整理并建立,也可以参考我在阿里云社区上面的系列直播课程:https://yq.aliyun.com/promotion/543

方法2:不仅要“摹”,还要“临”

临摹是古代用于练习书法或绘画作品的方法。所谓临,就是指的是看着字的样子照着写,所谓摹就是在范本上面蒙上一层薄纸,然后照着写。

在学习Python编程的时候,现在很多人也能够去照着书或视频的代码自己敲一遍。这很好,但这远远是不够的,这其实只是完成了“摹”的环节,是的,你练了,但是你还没有将知识转化成你自己的知识。

如果,你在完成了一节知识的学习之后,再加上“临”的环节,就更好的。即这样做:你可以关上视频、关上书、关上笔记,靠记忆与印象再尝试着自己写一遍本节知识中的代码,这个环节是很重要的,你可能写出来的代码与原代码不一样,甚至出错,没关系,出错就调整好,如果功能实现是一致的即使代码写得有出入,这也是可以的。

这个过程是将知识转化为你自己的知识的过程,如果你按照这种方式进行训练,进步会很快。

就像学习任何一门知识,我们其实都提倡当你看完一节后,一定要关上书或资料,然后回想复述书中出现的核心内容与具体的知识点,这个过程如果你是刚开始训练,会感觉很苦恼,因为回想不出来,但训练久了,你就会发现,很容易回想起来,换言之,就是你很容易将知识转化为自己的知识,真正理解与吸收。

方法3:通所有不如精一物,精一物方可通所有

任何一门知识,其知识内容都是很庞大的,就拿Python爬虫来说,光相关的模块和框架就很多很多,比如urllib、requests、scrapy、Portia、newspaper…等等。

你到底该不该都深入掌握呢?

有的人喜欢大而全的东西,这没错,但对于学习来说,通所有不如精一物。

其实这些模块或框架基本上都差不多的,很多时候,A能实现的功能,B也能实现,所以我的建议是:深入精通掌握几个常用的。

只要你真正精通了一个,实际上其他的都不难掌握,而如果你一开始就希望所有都精通,那样花费的精力是非常大的,并且并不一定你就真正能精通所有。只要你真正精通了一两个,你不必精通所有,你实际上就是这个领域的高手。什么是高手?别人能解决的需求你能解决,别人不能解决的需求你也能解决,这就是高手。这些技术,都只是工具,而如果要做高手,工具要懂用,但不必要纠结于到底该不该所有工具都精通。就像孙悟空棍耍得溜,那就把棍耍精通,三尺钉耙他也能耍,只不过没那么溜而已罢了。

以上便是我的一些学习方法的总结,这些总结同样适用于其他领域的学习。希望对大家有所帮助。

大家有什么想法或者有什么学习方法,都可以聊一聊哦!走心的回复还有机会获得淘公仔、云栖帽衫、我的最新书籍《Python程序设计基础实战教程》等实物奖品哦!

另外,给大家推荐咱们云栖社区的编程语言系列讲座,由我以及付哲、陶大出讲,我负责Python专场,在课程中,我们不仅讨论方法,更多地,直接编程实战案例上手哦!

《2小时快速入门Python》课程(包括Python基础与网络爬虫部分):

__20180306155521

云栖社区的编程语言系列讲座报名链接:https://yq.aliyun.com/promotion/543

_

最新书籍《Python程序设计基础实战教程》:

__20180302010435

参与话题

奖品区域 活动规则 已 结束

  • 奖品一

    Python实战教程 x 10

80个回答

1

古散 已获得Python实战教程 复制链接去分享

对于工作时间久一点的人而言,语言就像是工具,我从不追求所谓的匠心精神,非要将一万行代码浓缩成一百行,解决问题,实现功能并且尽力去优化足以,相比较更精简的代码我更期望早一点实现功能,早一点上线。老师要讲的这门语言对我而言是门新语言,目前还没有开始写第一个helloworld.作为一个搬砖三年的新人,对这一门语言还是蛮有期待的,希望能在老师的指点下,对这么语言有个初步全面的认识,构建体系不敢想,增进一些认识,简单会用还是可以的,也觉得高中的死记硬背很有作用,天天重复,领悟的那一刻能记下很久很久。我个人觉得我这样不聪明的人,适合采用一些笨方法,倒不是一个代码写十遍,而是结合生活把为什么这样子写的思想领悟透彻,好比是建模型。具体的代码实现在开发中占用的时间并不多,清晰的思想可以减少很大的工作量,有一句俗话不是说前期主要写bug后期主要改,重构……
说了很多没用的,要准备一下老师接下来的课程了

韦玮 回复

已送书,希望这本书对你有用,嗯,应该会有帮助的,可能需要一些时间才到,耐心等待。

1555020933119415 回复
回复@韦玮:

借楼问下,后面3次实战直播是没有视频回放的吗,这么好的东西,没存档岂不可惜

韦玮 回复

都有视频回放的,应该在报名页直接有回放链接。

评论
3

kissjz 已获得Python实战教程 复制链接去分享

我和python的故事
感觉自己对python的感情应该算是非常非常深了,进大学还没上C语言课,就在社团里学习python,一直记得自己写的第一个python程序是求个一百以内的质数,然后用git提交给社长。所以说,我可以自豪的说我的第一门语言是python
然后就是社团里陆陆续续布置了一些作业,都要求用python实现,记得最后一次作业是:买个云服务器,然后用python的flask框架去写个简单的网页。还记得当时我并没有完成,还挨骂了(ノへ ̄、)
大一这样在社团的作业任务驱动下学习python,好像就是像题主所说的一样没有成体系地学,对python的了解一直就是马马虎虎的。现在大二,对机器学习产生了兴趣,随后又继续学数据分析,同样的,都离不开python。

说一说我的学习方法
因为要用到很多python的库,比如机器学习工具sklearn、画图工具如seaborn等。因为还要记下自己的学习笔记,发现用anaconda的jupyter notebook特别好,一边可以动手“临摹”代码,一遍还能记下学习笔记,更大的优点是可以直接下载markdown格式,然后在云栖社区发博客,吼吼~~
以图为证:
WeChat_Image_20180307003251
WeChat_Image_20180307003258
WeChat_Image_20180307003420

韦玮 回复

回复很走心,书已送,但您的水平较高已经不需要这本书的知识了,这本书只包含Python基础的知识,全当留念!回复很走心,经验也很好,赞!

kissjz 回复

谢谢了!

1555020933119415 回复

借楼问下,后面3次实战直播是没有视频回放的吗,这么好的东西,没存档岂不可惜

kissjz 回复

我也不清楚,应该是有的吧

评论
1

诺禾 已获得Python实战教程 复制链接去分享

对于完全没有编程经验的初学者,
在学习python的时候,面对的不仅仅是python这门语言,还需要面临“编程”的一些普遍问题,
比如:从零开始,不知道从何入手,找了本编程教材发现第二章开始就看不懂了缺少计算机基础知识,被一些教程略过的“常识性”问题卡住遇到问题不知道怎么寻找解决方案看懂语法之后不知道拿来做什么,学完一阵子就又忘了缺少数据结构、设计模式等编程基础知识,只能写出小的程序片段所以除了前面说的3点经验,
给初学编程者的额外建议:
首先要有信心。虽然可能你看了几个小时也没在屏幕上打出一个三角形,或者压根儿就没能把程序运行起来。但相信我,几乎所有程序员一开始都是这么折腾过来的。选择合适的教程。有些书很经典,但未必适合你,可能你写了上万行代码之后再看它会比较好。写代码,然后写更多的代码。光看教程,编不出程序。从书上的例程开始写,再写小程序片段,然后写完整的项目。除了学习编程语言,也兼顾补一点计算机基础,和英语。不但要学写代码,还要学会看代码,更要会调试代码。读懂你自己程序的报错信息。再去找些github上的程序,读懂别人的代码。学会查官方文档,用好搜索引擎和开发者社区。 向楼主学习

1

effort880829 已获得Python实战教程 复制链接去分享

我的运气真的不错,想学但一直没有学python,之前看过python官方文档,觉得不难,但是要是自己慢慢啃一定会非常艰难。 韦玮老师讲课高度浓缩,语气跌宕起伏,干货一个接一个,我是在吃饭时看完的。有一种我一定要学会python这个带有“魔法”的语言!期待您的后续的课程。2018_03_13_21_18_48_

1

巴洛克上校 已获得Python实战教程 复制链接去分享

恭喜恭喜,又有新书啦! 是否送本拜读下,讲座报名了,顺便帮你宣传了下,网络爬虫的的书写的很好,值得推荐,为你打call,python未来发展一定很好,学习过程我觉还是先看教程大概过一遍跟着敲一边代码,在回头细致的再过一遍,背着写不会的再看,之后找个项目练一下就差不太多了,当然毅力很重要。

巴洛克上校 回复

挤一挤

评论
1

20953188 已获得Python实战教程 复制链接去分享

题主所言甚是,知识体系非常重要。我算是一个半道入学的程序员,非科班,因为兴趣而选择了这个职业。开始入门除了一点计算机基础,更多的是遇到问题解决问题,用到哪学到哪。但是慢慢的觉得越来越难有突破,所以又沉下心来进行系统学习,从计算机基础、数据结构到算法、架构设计、服务器管理等等,基本是把之前所学的升级了一遍,如今虽不敢自称技术大牛,至少同事领导都很认可。python之前略有接触,惊叹其简洁直观的语法结构和强大的集成特性,很想深入学习,期待指点。

1

尼古拉斯雷 已获得Python实战教程 复制链接去分享

不错,说的有道理,把棍耍好了,钉耙也照样能耍。
只有心去学习技术,就算不了解python的,想学习python照样也能学会,只是没有那么熟练罢了。
世上无难事,只怕有心人。
祝:你的书大火大卖。

0

1314308776233340 已获得Python实战教程 复制链接去分享

我是一名网络工作者,一直在一线从事网络的维护与建设,近几年又以数据中心为主接触到云计算、SDN、大数据等新技术,让我深深的觉得仅仅守着自己的一亩三分地将进入死胡同,但进一步就海阔天空,因此我开始学习Linux与Python,差不多坚持二年左右使用linux办公,也慢慢喜欢上linux;
虽然现在学习Python方面进步缓慢,可能就如题主讲的哪些问题导致我学习python停滞不前,感谢题主的肺腑之言让我醍醐灌顶,希望接下来学习python走得更顺畅。谢谢!
4741606b49e344e8b6a2574bef8a2b66_734768b216ca4f88bafc308c671c8e71.jpg

0

1946201834644436 已获得Python实战教程 复制链接去分享

高校学生,想学python,可是面临实习,自己java也没学好,不敢分心学,纠结

0

沙漠中的猴 已获得Python实战教程 复制链接去分享

精其一,通其所有

最近几年自己也学了好几种编程语言,每次新学一门语言的时候,总能与之前的语言找到类似的地方,难免会造成混淆。我喜欢在学一门语言的时候做笔记,然后写几个小例子,再与之前学过的语言做一下比较,多敲一敲代码,加深记忆。总的来说最好先要精通一门语言,之后学习其他的语言就相对简单了。

看不如练

一些书中总会有一些小的例子,自己按照例子敲下来,查看运行是否成功,分析代码的结构与步骤。读完一个小节之后,按照要求自己尝试着写一下,这期间肯定会遇到各种问题,将问题整理出来记录一下,写入自己的博客,方便自己也方便他人。

思考优于模仿

在学习完一些基本的数据结构之后,对这门语言也有了一个大概的认识,这时试着把书中的例子用自己的方式重新构造一下,只要能实现功能就可以,既可以理解语言,也可以增加自信。

之后就是反复的应用,写程序逻辑了。

2

szm. 复制链接去分享

已经报名了,学习方法真的很重要,就像高中时,同样的学习时间,有的人可以有时间玩,成绩还好,而有的人整天学习,成绩却平平。
我们不能说成绩好的一定聪明,学习不好的一定不聪明,只能说他们的学习方法不同。
最近看视频教程就深有体会,当我跟着视频写代码的时候,我感觉我已经会了,并且理解的差不多了,而在不看视频自己敲的时候,就会发现错误百出,由此对于学习方法的好处尤为深刻。
很多人,包括我都认为会写就行,原理啥的可以不深究,可是就是这样的想法,导致我只知其然不知其所以然,而网上的大部分教程也都以解决问题和使用为主,涉及原理的,自己又不愿意看,从而导致编程水平一直上不去,所以能看到这样的课程挺好的。
希望所有人都可以找到适合自己的学习方法,提高自己的编程水平

韦玮 回复

对的,加油!

评论
1

1789311263384169 复制链接去分享

我觉得重要的是找规律和总结经验,也就是把学的东西做个东西,比如说爬虫,做的过程中就能看到问题

韦玮 回复

是的,要练。

评论
1

骐源 复制链接去分享

比怎么学习python更重要的是为什么学习python
这里给出3点理由,大家可以自行斟酌
1 python适合编程语言入门,都入了小学生的课程了,不解释。
2 python是个全才通才,俗话说就是啥都会。
3 鉴于人工智能的火热。
所以我的建议是:人生苦短,python当歌!

韦玮 回复

很好。

评论
1

饭娱咖啡 复制链接去分享

我们不可能精通所有计算机语言,因为计算机语言每年都在更新,而要全部精通,那是你花一辈子也做不到的事情;同时我们也不可能精通某个语言的所有框架,因为语言在进步的同时框架也在不断地更新,更多更好用的框架更是层出不穷。
我们能做的是,精通几门语言,熟悉几个框架。不同的语言语言和不同的框架都会有一些相似的地方,通过触类旁通的方式去学习和了解其他的语言和框架。

韦玮 回复

是的。没上路之前专一做,上路之后什么花都是一样的花。

评论
2

小可同学 复制链接去分享

我和Python的故事!!求楼主书当纪念!
我的第一个Python代码!去年的这个时候吧。写了一个很简单的爬虫,爬什么?斗鱼颜值美女!!是不是第一感觉很高大上?
文章地址!不过也是作为初学的第一个作品吧。
https://yq.aliyun.com/articles/272138?spm=a2c4e.11155435.0.0.4a513312eQNUuq
_
去年3月我还在实习,那时候比较闲嘛!所以找点事情,于是我碰到了python,因为我大学学的Java,学的还行吧!所以入手python还是很快的!!毕竟所有语言都是互通的!我记得特别清楚,我去某某在线网站看的Python的教程!然后在练习!基础看完我就动手开始做一些东西了!上面爬虫就是一个小东西!当时斗鱼还没怎么限制!!所以我爬的很顺利,研究了一下用了两种方法。爬了很多美女!!哈哈哈!
当然Python是作为我工作中很好的一个工具,它就像我的一根彩铅!有自己独特的魅力!我自己是做数据仓库的,往机器学习的方向转!所以当初学习Python是很正确的,因为有很多的包用于数据分析。在我遇到问题解决不了的时候!我会想到Python能不能解决!于是,这个帖子在我的工作中诞生了!
我用Python写了一个小小的工具,细节大家自己看!也没涉及到面向对象的东西,也算是一些很基础的应用,毕竟我把它当作我生活的一部分存在。简单来说下面的例子就是在工作中,大量的手动建表很麻烦!!主要是这一块集成到公司的系统了,单独不能拿出来,所以我自己写了一个小工具,完成这个繁琐的需求。
https://yq.aliyun.com/articles/328451?spm=a2c4e.11155435.0.0.4a513312eQNUuq

最爱Python的两个网址:
Python包整理的地址,经常在这里下!
https://www.lfd.uci.edu/~gohlke/pythonlibs/
还有一个是Python的在线官方文档
https://docs.python.org/3/

这两个文档帮了我非常多!虽然现在懂得还不是很多!也没有专门去做Python的大一点的项目,但是我的工作中处处有这Python的影子。我相信在今后机器学习道路上更会让我离不开python!!!
希望可以留楼主一本书,学习。最后谢谢楼主无私的开课,帮助更多喜欢学习的孩子。

0

1931897681170637 复制链接去分享

膜拜!!!请问学习编程的第一步是什么呢?

韦玮 回复

编程的第一步是选择一门合适的语言,然后快速进入实战。前期重实战,轻理论;后期重理论,轻实战。

评论
0

1769720386185872 复制链接去分享

想学习python,但是基础太差,有没有什么更基础的东西来先学习一下

韦玮 回复

可以从Python基础学起就行,至于其他基础,关联不是太大,编程思维与能力可以在学习中慢慢养成与提高。

评论
0

hellcs 复制链接去分享

爬虫框架学啥

韦玮 回复

看个人选择,建议可以试试Scrapy。

评论
0

1921410373127641 复制链接去分享

英文都不认识几个,还能学这

韦玮 回复

英文基础并不是学习编程的决定性影响因素,但可能前期需要更加辛苦些。

评论
0

1655610196529884 复制链接去分享

函数学的不好,能不能学好这个?

韦玮 回复

能的,就像高中某一科不好也能考上好大学的,当然,也许考上大学后某一天需要用到这一科,再把这一科学好。

评论
4
16813
浏览
7
收藏
邀请他人互动
关注
0
粉丝
128
话题
2

感兴趣or擅长的领域:

简介:

韦玮,企业家,资深IT技术专家/讲师/作家,畅销书《精通Python网络爬虫》作者。

专利:

2013年 5月 Defensive instrument combined with optics

著作:

为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本...

RDS是一种稳定可靠、可弹性伸缩的在线数据库服务。支持MySQL、SQL Server、PostgreSQL、高...