Py学习  »  Python

想成为顶级 Python 程序员?请收下这份路线图

AI研习社 • 5 年前 • 622 次点击  

本文为 AI 研习社编译的技术博客,原标题 :

A realistic roadmap to becoming a Python developer

作者 | Ramit Mittal

翻译 | 邓普斯•杰弗              

校对 | 邓普斯•杰弗        审核 | 酱番梨       整理 | 菠萝妹

原文链接:

https://hackernoon.com/a-realistic-roadmap-to-becoming-a-python-developer-ab5872959509

注:本文的相关链接请点击文末【阅读原文】进行访问


想成为顶级 Python 程序员?请收下这份路线图

本文不仅仅是学习Python的最佳书籍/视频/课程的综述,还涵盖了初学者/入门者在学习过程中可能面临的问题。这些在Stack Overflow上未记录,也是未解决的问题。


  为什么是Python?

你为什么还要学Python?为什么不在其他20种流行语言中选一种呢?当你开始你的学习之旅时,这个问题会出现多次(一天)。

选择第一种编程语言很像挑选一个pokemon。

语言的内在能力逊色于程序员使用对应语言的技能并进入大联盟的勇气。

如果你想从一种不同的语言开始,帮自己个忙,不要继续看这篇文章了。如果你对自己的决定保持自信,专注于下一课,你就有更大的成功机会。你选择哪种语言无关紧要。但一旦你做出决定,你就必须坚持下去。

互联网上有大量关于语言/框架比较的杂乱信息。足以让任何有理智的人受到严重分析麻痹的冲击,甚至使他们怀疑自己的决定,以至于放弃。

我见过入门的初学者声称自己了解3-4种编程语言。他们倾向于简单了解3-4种语言,却不能用一种语言编程。这就是想要尝试一切而不能坚持下去的后果。

Python是一种设计得非常好的语言。此外,网上还有很多文档和教程。而且被应用在很多领域,所以不管你的水平怎么样,都会有很多东西需要你进行探索。不过其他20种语言的大多数情况也是如此。

每种语言都有其优缺点,以及最适合的用例。Python最常用的三种用法是数据处理、编写Web应用程序后端和自动化脚本。对于初学者来说,python无疑是最好的语言,因为它的基本设计原则注重清晰和简单。

总会有声音告诉你,你的选择是错误的。这些声音中,10个人中有9个是属于那些试图向你推销东西或是有严重不安全感困扰的人。


  Python如何?

既然您已经做出了选择,我们来谈谈学习Python。

这很简单。选择一个教程并完成它。然后,再选一个。休息并重复。

一本书或一个视频课程不会学会python。您需要不断地进行代码实战,以及渐进式的深入。你必须具有耐心,坚持,自信(以及其他一些很酷的品质)!

我已经提出了一个基本的学习流程,我建议初学者可以按照这个流程去做。如果你是特殊的天才,你的学习路线图可能会有所不同。否则用这个做参考,你可以知道,何时进入下一个层次,这是很重要的。但是大多数人做得太晚了。

你可能更喜欢在EDX上选一门课程,而不是看书。以上这整个过程比您选择的个别的教程/课程更重要。

  1. 通过读书建立坚实的基础。

  2. 跟随教程,使用Python完成单个任务,例如发送电子邮件或编写文件。这将向您介绍开发人员常使用的Python包和库。

  3. 养成阅读文档的习惯。使用可用的库构建小型应用程序。

  4. 加深对语言及其工具的理解。了解该领域的专家正在做什么。

  5. 直奔源码。

下面是一个有用的python资源列表,如果您已经吃透了图中的资源。全栈python中最好的资源。

在学习任何教程的同时,请保持一直编写代码。仅靠阅读代码示例或者教程是远远不够的。


学习通用问题解决方法

学习语言(或框架/库)和学习编程之间有细微的区别。就像把水颜色比作绘画。

在你为“全栈Web开发人员”课程买单之前,你要知道它不会让你成为一个好的程序员。它只会教你一个处理简单问题的特定过程(是的,大多数课程中构建的Web应用程序实际上是简单的问题)。知道程序是好的,但是能够设计出自己的程序是很好的。注意编程结构、设计模式和算法。这些不是特定于Python的,对于几乎所有语言都是相同的。

只要足够坚持,一定会成功。


寻找答案

如果你被卡住了(多次),试着在你开始向另一个方向跑之前解决掉该问题。很有可能在某个地方有一些人,也曾经遇到过同样的问题,而互联网已经证明了这一点。所以,在网上搜索解决方案。另外,python社区也非常受欢迎。你总是可以向别人寻求帮助。加入gitter上的python频道。


  Wow Python!

Python中有很多东西需要学习。它在很多领域中都有广泛的应用。不要跳过基础知识,而直接跳到某个特定领域专门化。在虚拟环境中学习了,package, Django后,可以学习PyTorch等。从长远来看,十分值得对python有深入的了解。这将减少在使用超级特殊库时调试程序的时间。



需要花费多长时间?

9 lifetimes。

学好东西需要时间。这个过程比大多数人告诉你的还要长。你不能在几个月内成为一名专业的程序员。常言道:好事多磨(好事需要时间和努力)。我建议您至少花一年时间主要关注Python。虽然会有分心和转移的事情,但是尽量去避免。但不要害怕为了学习新事物而分门别类。Python不是成为全面开发人员所需的唯一工具。学习git,markdown,html会有很大的回报。您可能还需要一路收集JS或统计信息。

永远做一个学习者,但也不仅仅是一个学习者!


了解学习/实践周期

任何创造性/科学努力都有两个阶段,并且不断重复。

学习阶段,你应该集中精力积累知识。阅读书籍,完成每一个教程,并探索已经做了什么。

实践阶段,通过应用在前一阶段获得的知识来创建一些东西。不要怀疑你的能力,不要去听一些负面声音,专心写你的程序。一旦你做到了,就回去继续学习。

平衡两个阶段。先有一个月或两个月的学习阶段,然后是一个月的实践阶段。大多数人都不敢开始构建阶段。


成为竞技的学生

探索关于你的语言的一切,了解你所在领域的先驱,提出问题,并了解为什么有些东西是按照这种方式进行设计。

如果有一段时间,你follow  Kenneth Reitz 的Github,并聆听Python的讲座,并遵守Pep8编码规范。你这样做不是因为你需要学习,而是因为你想知道。



想要继续查看该篇文章相关链接和参考文献?

长按链接点击打开或点击底部【阅读原文】:

https://ai.yanxishe.com/page/TextTranslation/1462


AI研习社每日更新精彩内容,观看更多精彩内容:

CVPR 2018 最牛逼的十篇论文

深度学习目标检测算法综述

迷你自动驾驶汽车深度学习特征映射的可视化

在2018年用“笨办法”学数据科学体会分享

等你来译:

如何在神经NLP处理中引用语义结构 

(Python)用Mask R-CNN检测空闲车位

高级DQNs:利用深度强化学习玩吃豆人游戏

深度强化学习新趋势:谷歌如何把好奇心引入强化学习智能体 


【AI求职百题斩 - 每日一题】

(今天的题目还是复习题,学习就要温故而知新哦!)

想知道正确答案?

点击公众号菜单栏【每日一题】→【每日一题】在公众号回复“0215”即可答题获取!

点击阅读原文,查看本文更多内容


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/iTBmwGU0wN
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/28833
 
622 次点击