本人文科生,自学Python 好多年,作为一个曾经完全0基础,啥都不懂纯靠自学学会python的文科生,有一些小建议可以分享一下(文末有惊喜!)
首先,不要觉着编程难,无非就是几个简单的单词嘛。熟能生巧!在心理上对自己有信心,千万不要眼高手低,一定要多敲多练,不就是个编程嘛,搞他!!抄我也得把他抄下来!!
其次,建议从最最基础的语法命令开始,能让自己有一个小小的成就感就行,不要贪大,比如打印显示出一句话都能有满满的成就感,从小小的成就感中一点点得体会编程的乐趣,这样心理的抵触感和恐惧会慢慢的消失,伴随而来的就是好奇与探索的欲望,久而久之就会去研究python 的语法去掌握它。这个小小的成就感非常非常重要!!
其实现在很多在线的Python学习资源,对小白学习非常友好,直接保姆式像素级教学,生怕你学不会,为了给你成就感,举各种生活中常见的例子,每一个符号、单词都能做到非常形象的解释,当时我看到这种学习方式不禁感慨,如果我当时学习Python的时候能有这种学习网站,我的学习时间至少能缩短多一半,不至于在几个不理解的知识点上纠结好几天。
比如在学习input输入的时候,脑子就是没转过弯,到底是做什么的,直到碰到某个老师讲,输入的东西,你就想象成铁矿石,input就是把铁矿石装进火车箱,然后运输给工厂,最后工厂处理后变成了铁,变成了钢,当时我就觉着这种学习方式简直太好了,一下就能把陌生的概念和现实对应起来,一下就记住了,想忘都忘不了。
在讲TRUE 和 FALSE 等逻辑运算时,非常形象的用支付宝余额的例子做了生动的比喻,小白几乎不用想就能直接记住逻辑运算是怎么回事,感觉小学僧稍微用点心都能记得很牢固!
一定!务必!要彻底夯实基础语法!做到滚瓜烂熟,心中有数,切忌贪多,朝三暮四,基础语法一定要反复练,做到肌肉记忆,我自学的时候,基础语法前前后后练习不下十几遍,后来手生了,也要单独开个小窗口,测试验证我的基础语法是否正确,才敢贴在主程序里。
当然现在小白在最开始学习时候,有些教程要求先安装Python编程环境,然而很多小白在下载程序的时候就卡主了,安装个环境就搞好几天,实际真的没有必要,像夜曲编程直接提供在线编程环境,无需下载繁杂的安装程序,直接在线操作,跟着卡片教程,只需手指戳几下就可完成代码练习,即可生成代码并运行,并看到运行结果,给小白提供了极大的便利和节省了宝贵的时间。
接下来,可以给自己设立个小目标,比如要用Python解决工作或学习中的一个重复复制粘贴的小问题!经过自己查找搜索发现Python可以用爬虫解决我这个问题,而且已经有大佬给出了示例,步骤,那就先模仿,抄下来,一句一句的敲下来,而且一旦不理解了,报错了,就要去搜索是什么意思,为什么报错。
很多同学给我反馈说总是害怕代码报错!其实大可不必,程序报错非常正常!一开始不报错的代码才不正常,遇到报错,就要明白报错的意思是什么?python的报错信息对小白还是非常友好的,告诉第几行出错了,什么类型错误,什么值错误,这些务必要看懂!
其实最开始小白学报错检查的时候总会一头雾水,最容易写出bug导致程序报错,在夜曲的报错练习中,以卡片的形式,非常贴心详细的给出了每一行报错是什么意思,该如何根据报错内容去调整代码,就像有个老师给手把手的批改作业一样,体验是非常好的,这在将来工作中是非常非常必要的技能,我即使工作这么多年,也要每天去看报错内容,根据报错内容去调试代码,现在小白能在最开始就有人引导去调试报错的代码,真的能在今后工作中节省不少时间,少掉很多头发!
关于报错,还要会捕获异常,处理异常,try except,这样能让你的程序更健壮,不至于帅不过三秒!另外需要不断调试,屡清楚每一行代码返回的是什么值,有时候在不理解的地方打印一下返回值看看是不是符合预期,不断的调试试错寻找最优写法,总之看懂报错原因+搜索+不断调试是解决报错的好方法!
有时候就因为自己少打了一个空格,一个冒号,导致排查bug找老半天,其实还是基础知识不够牢固造成的,所以还要跟着练习程序勤加练习,做到肌肉记忆。
再次,站在巨人的肩膀上,先去搜一搜有没有几行代码的小爬虫案例,肯定有的,就拿最简单的,爬百度首页,不管是啥,先一把梭,照着代码敲一遍,然后运行,肯定能出来东西,不管是正确结果还是报错,先跑一遍再说!!
精读代码,滤清思路,照葫芦画瓢,先看看都用了哪些第三方包,爬虫的话觉对是requests库了,顾名思义,就是发送请求接受请求的库,如果还不明白就是把这个库想象成你的浏览器,现在他是另一种浏览器了,只是没有界面。不用鼠标点击访问网页,而是用另一种方式,请求和响应,看明白响应的HTML代码咋解析呀,网上一搜,就有了另一个库bs4,以此类推,然后试着用这个代码去请求一下自己的那个目标网址试试看看都返回啥。
学习过程中,缺啥补啥!哪里不会补哪里!后面你就会了解到python 除了可以写爬虫,还可以做网站,可以做数据分析,期间就会遇到更底层的困难,emmm 做网络应该更了解一些网络协议,类似http 协议,以及握手挥手原理,数据请求原理等。
同时就还需要抓包工具的使用配置,json 等数据格式的学习,html 的学习,js 的学习,总之会发现自己遇到的困难一个接一个,需要的前置知识需要一个坑一个坑的去填,这些应该比较痛苦,但是其乐无穷。
当学的差不多了,就可以利用Python做办公自动化编程了,让自己重复的工作全部自动化起来,对无聊的复制粘贴,无聊的各种下载,通通说「不」,几行代码就搞定之前繁杂的工作,几秒钟就搞定同事要好几天才能完成的工作。升值加薪不是梦!
基础要精通,勤加练习,多看书!python 本身语法学习中还会在面向对象这个概念中卡住,因为之前的语法都是面向过程,写个函数封装起来就完事了,后来遇到面向对象,思路就要转变一下了,三大特性,类的概念,继承,对象,多态,封装,以及各种魔法函数,需要大量练习和理解。
后来基本的书籍已经满足不了自己了,就去看流畅的python ,cookbook 等书籍,发现python 还有很多的特性需要掌握,实在是学无止境。
这些还是python 语法本身,后面的python 爬虫就要学习除了网络协议,抓包,以及各种 库,还要学习提高速度多线程,多进程,分布式的抓取,另外还会需要代理ip,伪登录,等难题。
在抓数据上已经费了老劲了,接下来就要存数据,数据库得学习一下mysql sql 语句 mongodb ,redis 都得学习下。
好不容易存好了数据,就要去分析了,numpy pandas 就又要学习各种函数去学习,于是就又找了一本利用python 进行数据分析的书。
使劲看完之后,分析数据也差不多了,就要考虑数据展示了,matplotlib seaborn echart 就要学习了js语言也要学习了,于是折腾一波,就可以做出基本的数据图表了。
然后又希望展示到网站,让同事看,于是就又要学习django flask 这样的网络框架,一顿猛学之后基本就可以展示了。
后来发现自己需要优化一下网站,性能更高,耦合度更小一些,要做成前后端分离的形式,于是又去学了restful 的开发方式和vue 框架,实现前后端分离。
后面发现自己的数据分析深度不太够,于是又恶补了一些统计学的知识,于是又进了统计学到机器学习到深度学习的深坑,于是,计算机视觉,这些依靠神经网络的技术也就入门了,当然这些需要一点点的死磕,从线性代数到手写神经网络,到应用框架一步步理解其原理,是最有乐趣的。
总之,小白自学Python方法总比困难多!你要问我最大的困难是什么?我的答案是如何高度保持持续进取学习应用的好奇心与耐心是最困难的。而且一定要会关键词提问和搜索!!
编程是一个全新的世界,就像学英语,打开了英语世界,那么编程就是打开了全新的编程世界,日常那些重复的问题,都变得苍白无力!时间就是金钱,节省的时间去和女票约个会,岂不美哉!
最后!基础,记录,搜索,这三个很重要!!找个地方写博客记录自己学习历程很重要,解决了任何问题都记录下来,比如这个知乎专栏啥的,不会的问题多搜索答案,肯定能搜到!,反复练习基础语法,理解基础知识,看书,看视频都可以!
人生没有无意义的努力,现在的付出,将来一定会有回报,说不定什么时候就用到了,将来的你一定会感谢现在努力的自己的!加油!
最后
为了帮助大家更好的学习Python,小编给大家准备了一份Python学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂,需要获取方式:扫描下方即可获取。
👉Python学习路线汇总
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
👉Python必备开发工具👈
👉精品Python学习书籍👈
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
温馨提示:篇幅有限,已打包文件夹,获取方式:点击这里【 Python全套资料】 或扫描下方即可获取。
👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉100道Python练习题👈
👉面试刷题👈
👉实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
获取方式:点击这里【 Python全套资料】 或扫描下方即可获取。