我自己是28岁转行后自学Python的,所以根据自己过去的经验总结一下。总结了一个自学 Python 的路线,
面对新手可能有以下问题
-
我想学习Python但不知道从哪里开始。
-
我不知道能不能学得好
-
我想转行,但是有顾虑
如何自学Python
1.设定自学目的
学习的动力。
如果目的不明确,你很有可能会在途中受挫,而且这个不限于Python,但凡自学编程其实并不容易。
对于中途受挫,半途而废的情况应该从来没有想过学习的时候有没有想过 为什么要学习?你学什么?学了这个做什么?
如果这些问题你不明确的话很有可能没有动力支持你学习。
下面放个思维导图
编辑切换为居中
添加图片注释,不超过 140 字(可选)
半途而废的特点。
我也见过不少半途而废的人,总结起来经常有以下特点:
-
学编程会以后或许有用。
-
我身边的人都开始学编程了。
-
学 Python 似乎对换工作有用。
-
被动、强制性的学习 Python 编程。
上面说的情况是大多数人发生的情况,总结起来还是思维方式的问题。
推荐一本书《The Willpower Instinct》作者是 凯利·麦格尼格尔教授(Kelly McGonigal, Ph.D.) 是斯坦福大学备受赞誉的心理学家,也是医学健康促进项目的健康教育家。
不要把支持目标实现的行为误认为是目标本身。进步可以激励人,甚至可以提高未来的自控力,但前提是,你要把自己的行为当做努力完成目标的证据。换句话说,你要清楚自己做了什么,并紧盯自己的目标。关注对自己的承诺,而不是关注单纯的进步。为了实现目标,你要愿意付出更多。
总结来说按照未来的标准进行思考,当你觉得很难做出努力的时候,从未来的角度考虑对当前行为的感受,说白了就是不要后悔驱动你向前努力。
目标感是驱动继续学习的动力。
估计能感受到身边有很多人是抱着暂时推迟的目的开始学习的,在获取知识→思考应用方法和使用方法的流程中陷入死循环。
也是在学校上学的时候虽然学了很多东西,但是不知道用在哪里。
因此反向思考这个问题答案就出来了。
一个 『确定目的→确定需要学习的内容→开始学习』 的流程。
举个例子来说某个学生最初想学习编程的原因是『想从网络上收集和分析股票投资所需的信息』,然后我告诉他需要掌握爬虫获取数据、回归模型做股票分析,这样目标就确立了。
目的明确可以有效地进行学习。
可以快速确定需要什么和不需要什么,因此如果优先考虑实现目标所需的内容,将能够以最快的速度学习。
目的明确要学的语言自然就确定。
学习 Python 是否真的是最优的,也取决于这个目的。如果想开发应用程序,你应该学习 Java 等,而不是 Python。编程有不同的用途和可以根据语言完成的事情。如果不知道学习哪种语言,学习编程的目的可能就不清楚了。
具体 Python 能做的事情例如机器学习方面可以参考,先有个简单的认识。
2.如何免费的自学
最佳学习方法因人而异
有些人买书学习,而另一些人则使用可以学习编程的网站,哪种学习方法不是最好的,最好的学习方法因人而异。
我个人推荐利用网站来学习。没有必要花钱报班,而是去找学习资料。
这里推荐几个自学的网站,几乎都没人发过,国内很多学 Python 的课程好多都是搬运这里面的内容。
w3schools
geeksforgeeks
GeeksforGeeks | A computer science portal for geeks
realpython
Python Tutorials – Real Python
中文的这里不推荐,因为很多机构的翻译水平参差不齐,直接看英文的自己学吧,这个能快速地提升你的技能水平,不光是编程,还有英语。
你可能会问为什么不推荐书籍,因为书籍的时效性太低了,可能出版之后版本都换了好几轮了,很多里面的代码都跑不通,具体为什么书里也不会给你说,所以直接看网站的教程是最好的选择。
3.得到你需要的东西
目前只需要一台 PC或者笔记本
电脑有啥推荐?没有必要买太好的,日常办公级别的就行,自己琢磨吧。
这里不推荐 Mac,性价比太低了,装个X还行。
学习基本语法
大致的学习路线是这样的,具体内容可以关注专栏内的其他文章。
4.了解自己的专业领域
你可以用 Python 做很多事情。
总结起来Python主要有5个方向:
-
机器学习等人工智能模型的开发和实施(scikit-learn、tensorflow)
-
数据收集/分析/可视化(requests、Pandas、Numpy、Matplotlib、Seaborn)
-
WEB服务/应用(Flask、Django)
-
自然语言处理(spaCy、GiNZA、Mecab)
-
业务效率和自动化等(Pandas、requests、bs4)
5.认真积累实践经验
经验就是武器。
获得实践经验的方式多种多样:
-
参加 Kaggle 挑战比赛。
-
使用 Kaggle 的代码引用实际业务。
-
开发自己的Web等程序。
-
尝试在日常工作中使用提供便利。
-
将工作更改为可以使用 Python 的工作。
-
等等......
中途可能会碰壁,但是不要放弃,谁都要经历从0到1的过程的。
我拿我自己的经历来告诉你是可以的。
对于那些正在考虑自学的人
我自己是自学的,所以给出我自己的建议供参考。
1.自学需要多长时间?
-
学习基本语法约 30 小时,可以看专栏文章对应的视频进行学习。
-
将能够编写自己的程序约100小时(可以在了解基本语法后开始)。
-
成为可以在工作中使用约200小时(了解基本语法+自己做一些服务)。
-
将能够在简历上大约500小时(了解基本语法+自己做一些服务)。
-
这将是您可以进行副业项目的水平大约200小时(了解基本语法+自己创建服务在最坏的情况下)。
-
能够与高级的同行进行交流沟通(需要不断的学习新的内容)。
我把之前的学习资料整理了一番,有需要的盆友可以评论留言我给你们发
编辑
添加图片注释,不超过 140 字(可选)
码字不易,记得点赞收藏哈,感谢支持!!