Python开发者现实版养成路线:从一无所知到无所不知

155 阅读6分钟
初级开发者学Python容易陷入茫然,面对市面上种类众多的编程语言和框架,重要的是坚持自己的选择,宜精不宜杂。本文是一篇指路文,概述了从编程基础、引导、文档阅读、书籍和视频、源代码等学习和积累环节,值得初学者参考。

作为一个开发者,为何要选择Python?

为什么要学习Python?为什么要选择Python,而不是其他别的20多种编程语言?当你开始走上开发者之路时,这个问题会可能会一天在你的脑海里出现多次。

选择你的第一个编程语言,就像选择一个入门级“口袋妖怪”一样。

如果你的目标不是Python,而是其他语言,那其实可以不用在往下读了。如果你对自己选择Python的决定有信心,那么这篇文章将让你获得更高的成功机会。其实选择哪种语言并不重要。但是一旦你做出决定,你就需要坚持下去。

现在网上有大量对不同编程语言/框架进行比较的文章和观点。这些内容可能会让人觉得无所适从,甚至吓到一些人,让他们怀疑自己的决定并半路放弃。

img

我认识一些人,声称自己掌握了3-4种语言。**他们想要了解4种语言的很多细枝末节,但无法使用其中任何一种语言进行编程。**这就是想要尝试一切,而没有始终坚持的结果。

Python是一种设计精良的语言。有着大量在线说明文档和教程。而且被广泛用于许多领域。所以,无论你的水平如何,对于Python而言都有很多值得探索的东西。对于其他20种语言中的大多数也同样如此。

每种语言都有自己的优点和缺点,及其最适合的应用领域。Python最常用的3个用途是数据处理、编写Web应用程序后端,以及编写自动化脚本。Python可以说是初学者的最佳选择,因为这门语言设计的基本原则侧重于清晰和简洁。

怎样学习Python?

既然你已经做出了选择,那么我们来谈谈如何学习Python。

很简单。选择一个教程,然后学完。之后选择另一个教程。休息一下,重复这个过程。

只看一本书,看一个教学视频是不行的。你需要不断地接触代码,需要让自己的脑子实现渐进式的“过载”,需要耐心、坚持、承诺(以及其他一些优秀特质)!

下面是给初学者的一个基本流程图。不同的人的路线图版本会有所不同。下面的流程仅供参考,不过,搞清楚何时进入下一阶段非常重要。大多数人做得太晚了。

img

你可能更喜欢选择去看edX的课程视频,而不是去读书。怎样都好,最重要的是坚持整个过程,这一点比单个教程/课程的选择更加重要。

  • 通过阅读书籍建立坚实的基础。
  • 参考基于Python的完成单个任务教程,比如发送电子邮件或编写文件。这些教程将介绍Python开发人员可用的有用的包和库。
  • 养成阅读文档的习惯。使用可用的库构建小型应用程序。
  • 深入理解Python语言及其工具。了解该领域的专家正在开展的工作。
  • 直接阅读源代码。

记住,不管学习什么教程,请确保一直在真正写代码。仅仅阅读代码实例是不够的。

学习解决通用问题

img

学习语言(或框架/库)和学习编程之间存在着细微差别

“全栈Web开发人员”课程并不会使你成为一名优秀的程序员。只会教你如何用一个特定的程序来解决一个简单的问题(是的,这些课程中构建的大部分网络应用程序确实属于简单问题)。

了解并读懂程序是不错,但能够设计自己的程序就更棒了。注意编程结构、设计模式和算法。这些特定问题不只是Python所独有,几乎学习所有语言都要面对这些问题。

寻找答案:从一无所知到无所不知

img

如果你在这个过程中多次遇到困难,在知难而退之前努力尝试解决问题。很可能别人以前曾遇到过同样的问题,并且已经通过互联网得到了解决方案。此外,Python社区也非常受欢迎。你可以随时向社区中的人寻求帮助。可以加入Gitter上的Python频道。

Python中有很多值得学习的东西,被广泛用于各种领域。不要跳过基础知识阶段,忙着进入特定专业领域。学习PyTorch应该在掌握包和库之后,学习Django应该在熟悉虚拟环境之后。从长远来看,掌握Python的深入知识是值得的。当你使用一些特殊库时,将可能大大减少调试程序所花费的时间。

学好东西需要时间。可能要比你想象的时间要长。你不可能在几个月内成为专家程序员。获得进步需要时间和精力。我建议初学者关注Python至少一年。这期间免不了会有分心的事,尽量避免分心,但也不要害怕去学习和接受新事物。

Python并不是成为一个全面的开发人员所需要的唯一技能。学习Git、Markdown、HTML等知识也能得到很大的回报。在学习过程中,可能还需要掌握一些JS或统计学信息。

总之,要永远做个学习者,但不仅仅只做学习者!

了解并践行学习/实践阶段循环

img

任何创造性学科的学习都可以分两个阶段,学习阶段和构建阶段,彼此不断重复。

学习阶段,你应该专注于积累知识、阅读书籍,完成每个教程并探索已经完成的工作。

实践阶段,你应该可以通过应用知识创造的东西得到了前一阶段的结论。不要怀疑你学到的技能,编写出自己的应用程序。只有当你完成了这一阶段后,回去再进入学习阶段。

尽量平衡这两个阶段。首先进行一两个月的学习阶段,然后进入一个月的构建阶段。大多数人都害怕进入实践阶段。不要怕!将你在学习阶段掌握的知识用在这个阶段,如果真的不够,就再多循环几次。

参考链接:

hackernoon.com/a-realistic…