这是我在知乎关注的问题之一,关于如何系统地自学python。浏览量超过1103万。
读者分享

我接触人工智能领域已经15年了。至今从事算法工作6年。我以算法工程师的身份加入字节跳动公司担任学校招生官,并获得了企业的最高奖项。在中科院系统工作期间,为国内某领域领军人物团队工作,负责多个部委的算法部分。
通过面试辅导多名学生,就职于平安科技、小米、联通等公司的算法岗位。对就业指导和面试技巧有自己的思考和丰富的经验。
这篇文章主要是给很多转行的朋友在考虑要不要选择python以及如何系统的自学python的时候,我的一些建议。如有不足,欢迎在评论区留言!
为什么是Python?
为什么要学Python?为什么不从其他20种流行语言中选择一种呢?当你开始的时候,会有很多这样的问题。
选择你的第一门编程语言就像选择你的第一只皮卡丘。
语言本身如何并不重要,重要的是程序员应该知道如何用这种语言做一些很棒的事情。
如果你不想学Python,那么这篇文章不适合你。当你对自己的决定有信心,并专注于后期的学习时,你就更有可能成功。选择哪种语言并不重要,但是一旦做出了选择,就要坚持下去。
网上充斥着各种语言和框架对比的评论,足以让任何一个理性的人都有选择的障碍。
我见过初级和中级程序员自称能说3-4种语言。他们一般倾向于知道各种语言,但是他们不能很好地用任何语言编写程序。这就是不学某一科,什么都尝试的结果。
Python是一种设计良好的语言,有大量的在线文档和教程。而且还用在很多领域,所以不管你水平如何,都有很多东西要学。但是其他20种语言大部分都是一样的。
每种语言都有它的优缺点和最适合的应用场景。Python最常用的三个用途是数据处理、Web应用后端和自动化脚本。基于其基本设计原则所追求的清晰性和简洁性,Python可以说是初学者的最佳选择。
你总能听到那个声音,“你做了错误的选择”。说这些话的人十有八九只是想卖给你点什么或者是缺乏安全感。
如何学习Python?
既然选择了Python,那就来说说怎么学吧。
其实很简单。选择一个教程并完成它。然后再学一个,反复做。
只学一本书或者一门视频课程是不够的。还需要以递增的方式与代码保持联系,这需要耐心、毅力和奉献精神!
所以我提出了一个初学者的基本学习流程。作为一个人,你的学习路线图可能不一样,但只是作为一个参考。知道什么时候进入更高层次的学习是非常重要的。大多数人知道的太晚了。
1.基础——想想如何在python中自动化那些枯燥的工作。试试官方教程“The Python Tutorial/python.org”。学习使用python koans(一种交互式学习工具)和git(一种版本管理工具)。
2.自学教程——学习RealPython.com和科里·斯查费的教学视频中的文章,阅读Python初学者指南,尽可能多的阅读。学习Flask官方课程。Python基金会
需要的话我可以分享,喜欢+评论666,免费获取!
3.文档——通过阅读Python文档来学习使用Python库。您可以从请求库开始。开始构建自己的程序,任何程序都可以,别忘了参考第二步的文章和视频。
需要的话我可以分享,喜欢+评论666,免费获取!
4.传播——翻看往届Pycon技术会议的视频,含金量很高。强烈推荐《编写高质量的python代码》和《强大的Python》这两本书,以及关于Talk Python培训的课程。

5.源代码——浏览您喜欢的Python包的代码。现在是参与Python开源项目的好时机。
你可能更愿意选择edX课程而不是看书,但其实你选哪门课程都不重要,整个学习过程才重要。
通过读书来建立坚实的基础。
按照教程完成Python中的单个任务,比如发送电子邮件或者读写文件。这将让您了解许多有用的Python包和库。
逐渐养成阅读文档的习惯,利用Python库搭建小应用。
对语言及其工具有深入的理解,知道这个领域的资深人士在做什么。
直接看源代码。
如果你已经尝试了上图中的所有资源,下面的链接有更多有用的信息。
学习任何教程的时候,记得把写代码当做练习。仅仅阅读代码示例是不够的。
解决学习中的一般问题
就像水彩和油画略有不同一样,学习语言和编程也有细微的区别。
在你选修“Web全栈开发”等课程之前,请明白,它不会让你成为一名优秀的程序员,只会教会你用一个具体的流程解决一个简单的问题。虽然知道如何构建它很好,但如果能够设计自己的程序就更好了。注意编程结构、设计模式和算法。这些并不是Python独有的,而是类似于所有的语言。
坚持下去,自然会找到规律。
寻找答案
如果你遇到困难,请在放弃之前努力解决。可能有人以前遇到过同样的问题,并在网上发布了解决方案。上网搜一下。除此之外,Python社区也很好,在那里你可以随时向人求助。也可以加入Gitter上的Python频道。
哇,巨蟒!
Python有很多值得学习的地方。它可以用于许多领域。不要跳过基础知识的学习,直接进入具体的专业领域。比如学习科学计算包PyTorch要在学会如何打包之后,使用Django要在使用虚拟环境之后。从长远来看,深入了解Python是值得的。使用特殊的库可以减少调试程序所花的时间。
学习需要多长时间?
九条命。
学习需要时间,而且比大多数人告诉你的时间要长得多。你不可能在几个月内成为一个专家程序员,很多事情都会发生。我建议你先关注Python至少一年,避免在这一年里分心,但不要害怕学习其他新的东西。Python不是成为一个完全熟练的开发人员的唯一知识。学Git,Markdown,HTML也不错。在此过程中,您可能需要选择JS或统计数据。
不断学习,不止一次!
理解/构建周期
任何创造性/研究工作都有两个重复的阶段——学习和构建。
在学习阶段,你要以积累知识为主。看书,完成每个教程,熟悉自己已经学过的东西。

在构建阶段,你可以通过应用前一阶段获得的知识来创造新的东西。不要怀疑自己的技术,不要相信那些说你不行的声音,自己写申请,写完了再回去继续学习。
要平衡这两个阶段,比如一到两个月的学习,然后一个月的施工,一般人都不敢开始施工阶段。
工作晋升、学习和交流
我们需要大量的前端工作,python工作,Java工作,Android和iOS开发工作。工作地点是深圳腾讯。欢迎在校招中介评论区留言!
如果你觉得自己学习效率低下,缺乏正确的指导,请在评论区留言,我会邀请你加入资源丰富、学习氛围浓厚的CSDN官方技术圈,一起学习交流!


