您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
零基础的人,该怎样掌握Python编程语言?
代码,基础,语言零基础的人,该怎样掌握Python编程语言?
发布时间:2016-12-08加入收藏来源:互联网点击:
这个阶段一定是勤学加苦练,看要多看,同时也要多练,我觉得一天起码要写1000行左右的代码吧(可以照着写哦)。一定要把你学到东西运用起来,知道编程是有价值的,会大大提升信心。还是那个学编程的同事,他学习的契机是,我花了10行代码给他写了个从txt中读取文件名,从指定盘里把业务需要的PDF文件复制到桌面。非常小的工具,但是为他的工作效率带来了巨大的提升。(每天节省了半个小时找文件的时间,之前是用windows自带搜索一个一个的找文件,想想就好恐怖,我这种懒人一定干不了!)促使他觉得编程很牛掰,所以非要学编程。
我自己之前都没有意识到编程可以如此轻松的为我们的工作和生活带来巨大的改变。所以,信心和兴趣很重要,特别是看第三本书的阶段。因为你会困惑,会碰到很难理解的东西,会卡住,不知道看的这些东西怎么去用,为什么这么用。所以,请你依靠信心和兴趣冲过这个瓶颈,当你能读通这本书的60%(是读通,不是完全理解),累积了5W行左右的代码,你就快要突破这个瓶颈了。这么说很奇怪,有点像修真或是参禅,(虽然我没看过什么修真小说 :P)你要顿悟了!要顿悟了!顿悟了!是的,就是顿悟,量的累计产生质的飞跃。这种感觉就是,你好像可以脱离照抄模式,当你想写一个什么小工具,小爬虫的时候,你感觉你心里有个谱子,或者说大纲。你会用到什么库,会写分出那几个模块,会先写什么再写什么。在高强度的抄写代码和理解这些代码的过程中,突然你觉得这一切突然轻松了不少,你可以更快的理解代码,更快的想到应该怎么写这些代码。
恭喜你,按上面的时间粗略算下来,你大概用了一个月或者更少的时间,学会了我花了一年才学会的东西。
这时候你可以重新看看SICP前三章(如果你先看的Scheme版,可以再找个Python版对照对照,会有新发现哦~)。去github上找点源码看看,推荐KennethReitz的,研究Linux或者Vim缓解缓解一直看编程语言的脑子(千万不要太沉迷)。
用轻松一点的状态多看看你想看的,这个阶段你作为一个python程序员,已经可以参加工作咯 :)
你已经经历了第一阶段,第二阶段就和工作很相关了,一个程序员可不知要会编程语言,还有一些基本素质。
如果你已经工作了,你的公司技术团队比较正规,会开始要求你一些规则,这些很重要,也是你接下来要学的。
1. Python编码风格也就是所谓的pep8,在网上随便查一下,读一遍,用不了半个小时。这个是重在坚持的过程,养成自己强迫症的习惯。
2. 测试Python是动态语言,在代码运行到错误的地方之前是不会给你报错信息的,所以一定要学会写测试。单元测试和功能测试看似无聊,但是当你碰到莫名其妙的bug无法找到,人工肉眼扫日志,或者其他令人崩溃的情况时,你可能更希望提前对每一个功能写几个简单的单元测试。测试通过不代表程序没有bug,但是没通过代表程序一定有bug。当你测试覆盖率几乎100%的时候,每次修改代码,增加功能后,执行一次,几分钟后通过,你会获得非常爽的感觉,类似赌博赌赢了(23333)。而且你会对自己的程序充满信心,虽然还是可能有bug。
推荐一本书:Python Web开发 测试驱动方法
3. 技术方向现在你该选择技术方向了,虽然你写了很多杂七杂八的小项目,但是要找一条你可以专下去的方向,至少在这个方向专研个半年,再考虑试试其他方向。但做选择的时候一定要选你当前最看好的方向,时间宝贵。
只有技术广度没有技术深度,除非你有本事直接去做技术高管,否则拖的越久,就浪费越多的时间。(这是我现在很后悔的一点,浪费了一年时间,后来觉得自己这一年其实啥都没学会,过早负责项目,过早接触架构设计,反而让自己底子变薄弱了。)
Python有几个大方向:
a)爬虫(个人觉得不适合长远发展);
b)系统级(建议DevOps方向,分布式方向);
c)Web开发(国内北京现在刚刚有起色,还在发展初期,建议学Flask和Django);d)大数据和机器学习(这个单独拉出来说)关于大数据和机器学习方向,很多人其实觉得自己做不了,感觉自己智商不够,或者底子不好,或者不是名校博士硕士毕业之类的。这些朋友们,请你们明确自己的定位,你们或许做不了领域前沿的开荒者,但完全可以胜任一个运用者的职位。现在国内其实很多小公司也拥有大量的数据,可能是几百G,可能是几个T。这在很多研究大数据的科学家眼里这东西太小儿科,因为这种级别的数据已经有很现成的解决方案了,但是非领域内的人并不熟悉这些解决方案,你要做的,就是将这些现成的解决方案实际运用起来,很务实的工作,但现在非常吃香。
大数据只是个概念,数据量大到常规数据处理办法来解决效率十分低下的时候,就算进入大数据领域了,你只是换个目前非常规的处理办法而已。大数据没有什么可怕的,信心很重要哦。而且因为物联网蓬勃发展,所谓大数据的处理方法,很快就会变成常规处理数据的方法哦~机器学习也是同理,有很多现成的解决方案。搜索优化,智能推荐,图像识别等都已经有非常完善的实现体系,你只要负责将别人的理论实现成代码就好。
这个阶段推荐的基础书单是:
a)程序员的数学三部曲
b)Python算法教程(Magnus Lie Hetland)方向选看:1)大型网站技术架构(李智慧)2)用Python写网络爬虫(没什么深度的东西,但可以从0实现一个小爬虫框架,里面的思维大于技术)
c)Python数据分析与挖掘实战(也没啥太多高级技巧,但是可以快速了解你会用到的工具)
d)开源书The Hitchhiker‘s Guide to Python(很有用,算是进阶知识补充吧)
e)程序员的思维修炼(对我帮助挺大,这种给人感觉好像成功学或鸡汤一样的书,你信了,坚持做了,对你有帮助。如果不信,那没必要看的)
f)Go语言实战 William\u0026Brain\u0026Erik(学一门静态语言吧)再进阶,就不需要找别人问了,你一定已经有自己的方法了。
简单说几个程序员需要的特质,越早培养越好。
1. 求知欲前面提了很多遍的兴趣也算一种求知欲,有求知欲就有目标,有目标就有动力。
2. 自信心哪怕是盲目的自信,在前期学习阶段非常重要。要相信相信的力量,信念是一种很强大的助力。
3. 多思考勤思考很重要,多想想为什么和怎么会,积累了一定的思想,就把上面的盲目去掉吧 :P
4. 责任心自己的工作,自己的项目,自己的代码,一定要自己负责。写代码一定不要只看代码,写完了丢给测试人员不管了。(有的时候写完代码,自己过一下,看看自己写出来的是什么样子、流程通不通,这很重要。你可能会发现一些很明显的功能上错误,或者设计上的问题,或者只是马虎。代码可以运行,不代表这堆代码真的实现了业务需求。我是因为一个项目被上级骂了1个月才理解到的,你不信可以试一下P挨骂)
5. 懒可能会和上面的一些冲突,这里的懒是指简化,重复的事情让机器做,这也是机器被发明出来最重要的功能之一。在完成目标的前提下,要有一个偷懒的心。懒才是社会的第一生产力。
上一篇:结婚后如果一直没有孩子,老了以后会过得很艰难吗?对此你怎么看?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |