您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
如何才能学好python编程,零基础?
代码,基础,语言如何才能学好python编程,零基础?
发布时间:2019-02-08加入收藏来源:互联网点击:
希望能帮到大家。
回答于 2019-09-11 08:43:50
没有编程基础,首先给你推荐三本书:
程序员的数学I(三部曲第一本,基础数学)
SICP (计算机程序的构造和解析)
Python Cookbook(Python3版本)
第一本书:程序员的数学I0基础先不要着急看Py编程书,先回顾回顾基础数学,这本书是一个日本程序员(经知友提醒,平冈合幸写的是后两本,第一部是结城浩写的)写的,非常通俗易懂,也没有什么高深的数学知识,第一部里面几章都很重要,进制转换,逻辑运算,排列组合,数学归纳法,递归。
先从数学的角度理解这些概念,至少就不会被一开始就劝退。
我有个同事是做业务的,他学习编程的时候,在进制转换上卡了很久(几乎所有的书一开始就讲,但是因为不算重点,篇幅都不多),严重打击了我同事的积极性,所以先花3到4个小时回顾一下基础数学很重要。
所以先看程序员的数学第一部,注意只是第一部。大概只用3到5个小时就可以看完。
第二本书:SICP这本书很出名,有多种语言版本,建议看原版或Python版本的。
现在你只需要读前两章!前两章!前两章!一口气读完两章也就4个小时,可能里面会有大量难以理解的地方,先不要管,先过一遍,然后第二次读的细一点,花个4~5天应该能看个7788。
如果读第一遍的时候非常吃力,可以先去看看你所读语言的基本语法。
我看scheme版本的时候,也就是在网上找了篇scheme入门博文,基本赋值,分支循环,定义函数等基本的规则,大概也就是30分钟的内容,基本数据结构什么的SICP里面介绍的还是挺详细。
看SICP可以多花点时间,这本书的特点是把计算机语言的概念精巧的抽象了出来。
读这本书可以在你的思维里先打好计算机语言的运作的抽象化基础,为你入门之后的思维转换做了很重要的铺垫。
第三本书:Python Cookbook 其实这本书我没读多少,挑了几章为了抠一抠概念,但是可以感觉到这本书真心很不错。
建议通读,尽量按顺序读,当然,这本书可以跳着看,它有的时候可以当做字典用。
可以看完前几章基础的,然后看你喜欢的,毕竟维持兴趣很重要。
在这个阶段,你可以开始你写一些小项目,小爬虫,批处理小工具等等,记住,一定要敲代码,千万不要复制粘贴,哪怕是照着敲。
如果是写爬虫,可以顺便学习一下网络基础,找几篇博文,看看互联网是怎么运作的(建议看阮一峰的几篇关于互联网协议的博文),学习一下互联网协议。
当然,可以先不用深入了解,但是一定要对整体有一个概念,这很重要,“整体”这个概念在大量累计后会有质的飞跃,这个一会儿再说。
如果是写小工具什么的,可以看一下“Python绝技:运用Python成为顶级黑客”,虽然我看这本书的时候已经很熟悉Python了,所以这本书本身并没有对我本身的编程水平有多大提高,但是里面有很多小例子可以拿来练手。
这个阶段一定是勤学加苦练,看要多看,同时也要多练,我觉得一天起码要写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. 技术方向现在你该选择技术方向了,虽然你写了很多杂七杂八的小项目,但是要找一条你可以专下去的方向,至少在这个方向专研个半年,再考虑试试其他方向。但做选择的时候一定要选你当前最看好的方向,时间宝贵。
上一篇:为何说时迁和宋江是一样的人?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |