420小时学习代码之后:如何教你免费自学Python
原文地址:learning-to-code-420-hours-later-how-to-teach-yourself-python-for-free
说明:有些网址需要FQ。
-
大约在1.5年前,我开始自学python编程。今天,我对于完成我的项目感到自信。
-
老实说,我认为对于我能够码出中级初学者级别的代码感到有点自豪。在过去的几个月持续快速提高后,我现在已经过了编程拐点--Coding Inflection Point。这意味着我已经内化了多数python编程的基本诀窍和模式,现在某些情况下实际依赖写好的例子去写代码。
-
如果你平行学习口语,那么你能够立刻用你新掌握的语言进行基本的交流。然而,不管你表达是多么原始,往往伴随着小词汇量的错误与特征。你必须查找词典或者。有时候,在你讨论更多复杂的内容时,你不得不放弃(但是你将会使用这种洞察力来为以后提高)。直到你对你学的新技能搞到兴奋。
-
之后,我想要简单的总结下我怎样去自学Python编程。这将会是我的一些系列非正式文章的最后一篇,从现在开始,它将是唯一重要的一篇,让我们去看看:
我学代码需要花费多久时间?
- 在2016年,我每个工作周大约用两个小时学习,所以这样来说总共用了100小时。今年,我尝试投资一个工作周到8-10小时。那产生40(一年大约有40个周)x8小时,那么我在这个工程上总共花费的时间将达到420小时。所以我们看起来在差不多2.5个月进行密集型代码Bootcamp的时间投资,但是扩展到20多个月中。新手培训通常需要花费许多钱。我不会花费一分钱。
阻碍是什么?
- 如果你真的想要学习编程,除了找到自己需求和优先考虑时间之外,我可以看到唯一的其他阻碍将是缺乏自律与耐力。对于我来说,决定一个我想要完成目标使我保持活力,如果我失败的时候,我会经历一个巨大的失望。每个人有不同的想法。某些人可能更喜欢依赖外部压力来拉动,比如设计到合作伙伴的责任等或者通过承诺万一失败后支付大量资金来保证。实际上,随着我博客文章的进度,我感受到增加的外部压力。另一些人非常喜欢有老师,作业和考试的正规课程。如果这中情况下,我自己的经历将不会有太多的价值。重要的是你了解你是适合哪一种学习类型。
我是怎么做到以及使用了什么资源?
- 我按照时间顺序列了一些网站与资源。
-
我开始用一种非常棒的方式学习Codecademy’s Python课程。
-
随着我完成the Codecademy课程,我从Learn Python the Hard Way教程继续跟着学习。
-
下一个学习是Google’s Python Class。
-
当正在学Google’s Python Class的时候,我开始去构建我自己的小程序,例如能在本地运行的简单聊天室。我发现不仅学习新的东西与从Python的课程中解决任务是重要的,而且我已经学习到的听到的保持练习也是重要的。一旦你理解Python中循环,列表,字典以及函数是如何工作的,并且你能去创建这些内容,学习进度是明显加快。
-
在我完成谷歌的Python课程后并当我自己创建小程序后,我继续纵读并从 Automate the Boring Stuff With Python解决问题,跟着Invent with Python。后一个网站教你如何用Python构建基本的游戏,那真是非常有趣。现在,当另一些人仍然理的解有点困难的时候,一些任务实际开始的太早。所以,我挑选了一些我感到符合我知识等级的内容。
-
我继续从Practice Python网站中解决所有的任务。现在,我开始厌倦我编程例子中重复的代码==。
-
我按照这个教程去发布一个用Python与Django框架技术的极其简单的博客web网站。那个仍然是有点挑战,但是给了我第一次了解Python代码如何在web程序中集成。我也在Github注册了一个帐号,Github是一个非常多开发者聚集以及分享代码的地方。
-
读了关于Python的数据分析与可视化激励我关注这个话题一段时间,因为他为我的写作与工作提供了有趣的前景。我可能不需要提及数据在当今世界的日益增长的作用。
-
从这里开始,我用简单的数据可视化来玩。我第一次抓了API(Hacker News),其次是Reddit’s API。能够将我新掌握的技能与其他感兴趣的领域结合起来,是充实且激动的。
-
我教自己(像在其他情况下大量使用stackoverflow.com,其中相关代码的问题绝大部分已经被回答过了)连接到Google’s QPX Express API去查询机票的数据。使用它,我构建了一个本地运行的搜索引擎。令人沮丧的是,这个API被限制每天只有50次查询()。
另外,我可能在下个月是繁忙的为了去开发最优化的查询机票工具并上线它。 -
目前,在通过本教程进行可视化潜在市场,我继续使用Python模块Matplot 与Pandas来研究数据可视化领域的几件事情。尽管我绝大部分只是重复造轮子(通常比原来的更糟糕),但我的志向是把我感兴趣的领域与写代码联合起来。那将是有更多的乐趣。
下一步是什么?
-
虽然我此刻将要完成Python项目,但是这并不意味着我现在将停止学习。只需要几个星期直到我仍然摇摇欲坠的Python技能基础将彻底恶化。所以我将保持写代码状态并尝试发现使用适合我普遍的主题例子。数据分析与可视化吸引我很多,但是挑战同样存在。在过去,我读一篇博客文章(我很遗憾没找到它)描述自学编程的某人是怎样经历一个非常不合规律的学习曲线,随着快速改善的交替循环,其次是,停滞,沮丧的周期。目前看来,我好像处于高原状态,似乎并没有提高我的技能,偶尔,甚至会纠结于简单的东西。但是只要我不间断的练习与学习,下一个周期将会成长更快。
-
我从主观意识来写这篇文章,但是我希望很明显它将是几乎每个人能做到这一点。我的最后一个建议:从你的社交媒体中挤出点时间去学习编程。你会惊奇的发现你会有这么大的进步:)。
-
如果你有任何问题,请在评论中提出来。