每个人有不一样的学习方法和动机,我比较认可b站稚晖君的说法,他在b乎也有账号,我和他都认为兴趣驱动,然后以实践为学习路径是最好的办法,我其实并不是很擅长学着的人,我的专业课程全是60分左右,因为我不喜欢,打心底里觉得无聊,打死我也学不进去,但自从我接触编程,就跟找到人生目标一样,即使我是个高中都没摸过几次电脑的人,我也能感受到学起编程时那种废寝忘食的兴趣,两年半过去了我依然保持这种激昂的学习动力,没事可以从早上8点折腾到晚上10点,兴趣是动力来源。
然后是学习从何开始,作为非科班出生的学习者,个人推荐先不管算法,数据结构,计算机底层原理,数电模电等基础知识,你学起来很慢而且见效难,没人监督容易导致还没起步就废了,先从基础语法学起,前期不要慌着折腾什么ide,就用自带的那个没有代码补全的写,写到不出现基础语法错误为止,基础语法整牢固后就可以用ide加快编码效率了,同时开始找项目,我第一个算得上项目的是做了个飞机大战游戏,虽然玩起来没啥意思,但能学到很多,比如模块之间怎么耦合与解耦,使用class的意义与优缺点,常用的模块如os,sys等,同时还能让你感受python的致命缺点之一:慢。就这样一个一个的做,从小游戏到图像处理到爬虫,最后一头钻进web的坑出不来了,这段时间你会找到你中意的方向,然后尽管往里钻,你会发现学的越多越无知,于是越学越多,然后卡在某个瓶颈,这时候就需要向底层探究了,魔术方法,与C语言耦合,元编程等,同时需要补充算法知识,这段时间进度会很慢很慢,但只要搞懂了就可以说你会python了,但能否精通就看个人本事了。
最后,学python一定要摆正方向,不要奔着就业来,因为能单独靠python吃饭的人除了培训班老师就是算法大佬,非科班出身的能做到这个地步是不缺工作的,大部分人是达不到这种水平的,要找工作一定要会其他专业知识和语言,python在工作上一般是进阶技能,纯python岗位少得可怜