文科生是如何自学两年半Python拿到13K的
关于自学,我最有发言权!本人文科生,自学Python 2年半,作为一个曾经完全0基础,啥都不懂纯靠自学学会python的文科生,有一些小建议可以分享一下。
首先,不要觉着编程难,无非就是几个简单的单词嘛。熟能生巧!在心理上对自己有信心,千万不要眼高手低,一定要多敲多练,不就是个编程嘛,搞他!!抄我也得把他抄下来!!
其次,建议从最最基础的语法命令开始,能让自己有一个小小的成就感就行,不要贪大,比如打印显示出一句话都能有满满的成就感,从小小的成就感中一点点得体会编程的乐趣,这样心理的抵触感和恐惧会慢慢的消失,伴随而来的就是好奇与探索的欲望,久而久之就会去研究python 的语法去掌握它。这个小小的成就感非常非常重要!!
总是有评论区问我,不知道如何从0 入手来获得这种小小的成就感?这里统一回复一下:对于小白来说,有个人引导会比自学要高效的多,可以试试下面这个免费课程,不用本地安装Python环境,可以直接在网页上敲代码,还有大牛老师带着入门,能少走很多弯路!只要跟着老师一行行的敲代码,坚持下来会发现其实学Python很容易!不自觉的就入门了,还能收获满满的成就感!!想要0基础入门的同学现在可以免费领取,能少走很多弯路!
免费课程领取地址:http://note.youdao.com/s/FN7cq7Cv
一定!务必!要彻底夯实基础语法!做到滚瓜烂熟,心中有数,切忌贪多,朝三暮四,基础语法一定要反复练,做到肌肉记忆,我自学的时候,基础语法前前后后练习不下十几遍,后来手生了,也要单独开个小窗口,测试验证我的基础语法是否正确,才敢贴在主程序里。
如果你学完了上面领取的基础课,接下来,可以给自己设立个小目标,比如要用Python解决工作或学习中的一个重复复制粘贴的小问题!经过自己查找搜索发现Python可以用爬虫解决我这个问题,而且已经有大佬给出了示例,步骤,那就先模仿,抄下来,一句一句的敲下来,而且一旦不理解了,报错了,就要去搜索是什么意思,为什么报错。
很多同学给我反馈说总是害怕代码报错!其实大可不必,程序报错非常正常!一开始不报错的代码才不正常,遇到报错,就要明白报错的意思是什么?python的报错信息对小白还是非常友好的,告诉第几行出错了,什么类型错误,什么值错误,这些务必要看懂,可以第一步先尝试翻译报错信息,然后去必应或百度搜,一定心中有个信念,这个问题已经有前辈踩过坑并完美的解决了,只是你还没搜到而已!
关于报错,还要会捕获异常,处理异常,try except,这样能让你的程序更健壮,不至于帅不过三秒!另外需要不断调试,屡清楚每一行代码返回的是什么值,有时候在不理解的地方打印一下返回值看看是不是符合预期,不断的调试试错寻找最优写法,总之看懂报错原因+搜索+不断调试是解决报错的好方法!
再次,站在巨人的肩膀上,先去搜一搜有没有几行代码的小爬虫案例,肯定有的,就拿最简单的,爬百度首页,不管是啥,先一把梭,照着代码敲一遍,然后运行,肯定能出来东西,不管是正确结果还是报错,先跑一遍再说!!
精读代码,滤清思路,照葫芦画瓢,先看看都用了哪些第三方包,爬虫的话觉对是requests库了,顾名思义,就是发送请求接受请求的库,如果还不明白就是把这个库想象成你的浏览器,现在他是另一种浏览器了,只是没有界面。不用鼠标点击访问网页,而是用另一种方式,请求和响应,看明白响应的HTML代码咋解析呀,网上一搜,就有了另一个库bs4,以此类推,然后试着用这个代码去请求一下自己的那个目标网址试试看看都返回啥。
学习过程中,缺啥补啥!哪里不会补哪里!后面你就会了解到python 除了可以写爬虫,还可以做网站,可以做数据分析,期间就会遇到更底层的困难,emmm 做网络应该更了解一些网络协议,类似http 协议,以及握手挥手原理,数据请求原理等。
同时就还需要抓包工具的使用配置,json 等数据格式的学习,html 的学习,js 的学习,总之会发现自己遇到的困难一个接一个,需要的前置知识需要一个坑一个坑的去填,这些应该比较痛苦,但是其乐无穷。
基础要精通,勤加练习,多看书!python 本身语法学习中还会在面向对象这个概念中卡住,因为之前的语法都是面向过程,写个函数封装起来就完事了,后来遇到面向对象,思路就要转变一下了,三大特性,类的概念,继承,对象,多态,封装,以及各种魔法函数,需要大量练习和理解。
后来基本的书籍已经满足不了自己了,就去看流畅的python ,cookbook 等书籍,发现python 还有很多的特性需要掌握,实在是学无止境。
这些还是python 语法本身,后面的python 爬虫就要学习除了网络协议,抓包,以及各种requests 库,还要学习提高速度多线程,多进程,分布式的抓取,另外还会需要代理ip,伪登录,等难题。
在抓数据上已经费了老劲了,接下来就要存数据,数据库得学习一下mysql sql 语句 mongodb ,redis 都得学习下。
好不容易存好了数据,就要去分析了,numpy pandas 就又要学习各种函数去学习,于是就又找了一本利用python 进行数据分析的书。
使劲看完之后,分析数据也差不多了,就要考虑数据展示了,matplotlib seaborn echart 就要学习了js语言也要学习了,于是折腾一波,就可以做出基本的数据图表了。
然后又希望展示到网站,让同事看,于是就又要学习django flask 这样的网络框架,一顿猛学之后基本就可以展示了。
后来发现自己需要优化一下网站,性能更高,耦合度更小一些,要做成前后端分离的形式,于是又去学了restful 的开发方式和vue 框架,实现前后端分离。
后面发现自己的数据分析深度不太够,于是又恶补了一些统计学的知识,于是又进了统计学到机器学习到深度学习的深坑,于是自然语言处理,计算机视觉,这些依靠神经网络的技术也就入门了,当然这些需要一点点的死磕,从线性代数到手写神经网络,到应用框架一步步理解其原理,是最有乐趣的。
总之,小白自学Python方法总比困难多!你要问我最大的困难是什么?我的答案是如何高度保持持续进取学习应用的好奇心与耐心是最困难的。而且一定要会关键词提问和搜索!!
编程是一个全新的世界,就像学英语,打开了英语世界,那么编程就是打开了全新的编程世界,日常那些重复的问题,都变得苍白无力!时间就是金钱,节省的时间去和女票约个会,岂不美哉!
最后!基础,记录,搜索,,这三个很重要!!找个地方写博客记录自己学习历程很重要,解决了任何问题都记录下来,比如这个知乎专栏啥的,不会的问题多搜索答案,肯定能搜到!,反复练习基础语法,理解基础知识,看书,看视频都可以!
最后的最后!以上是我自学Python 2年半的一些经验和感悟,其实坚持下来挺难的,还是那句话:师傅领进门,修行在个人!基础语法非常重要!免费的基础学习资料包我就放这了,有需要的小伙伴自取噢!
免费的基础学习资料包领取地址:http://note.youdao.com/s/FN7cq7Cv
基本上坚持学一周就算入门Python了,再学Python进阶课程就会轻松很多很多!
人生没有无意义的努力,现在的付出,将来一定会有回报,说不定什么时候就用到了,将来的你一定会感谢现在努力的自己的!加油!