原文地址: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多个月中。新手培训通常需要花费许多钱。我不会花费一分钱。

阻碍是什么?

  • 如果你真的想要学习编程,除了找到自己需求和优先考虑时间之外,我可以看到唯一的其他阻碍将是缺乏自律与耐力。对于我来说,决定一个我想要完成目标使我保持活力,如果我失败的时候,我会经历一个巨大的失望。每个人有不同的想法。某些人可能更喜欢依赖外部压力来拉动,比如设计到合作伙伴的责任等或者通过承诺万一失败后支付大量资金来保证。实际上,随着我博客文章的进度,我感受到增加的外部压力。另一些人非常喜欢有老师,作业和考试的正规课程。如果这中情况下,我自己的经历将不会有太多的价值。重要的是你了解你是适合哪一种学习类型。

我是怎么做到以及使用了什么资源?

  • 我按照时间顺序列了一些网站与资源。
  1. 我开始用一种非常棒的方式学习Codecademy’s Python课程。

  2. 随着我完成the Codecademy课程,我从Learn Python the Hard Way教程继续跟着学习。

  3. 下一个学习是Google’s Python Class

  4. 当正在学Google’s Python Class的时候,我开始去构建我自己的小程序,例如能在本地运行的简单聊天室。我发现不仅学习新的东西与从Python的课程中解决任务是重要的,而且我已经学习到的听到的保持练习也是重要的。一旦你理解Python中循环,列表,字典以及函数是如何工作的,并且你能去创建这些内容,学习进度是明显加快。

  5. 在我完成谷歌的Python课程后并当我自己创建小程序后,我继续纵读并从Automate the Boring Stuff With Python解决问题,跟着Invent with Python。后一个网站教你如何用Python构建基本的游戏,那真是非常有趣。现在,当另一些人仍然理的解有点困难的时候,一些任务实际开始的太早。所以,我挑选了一些我感到符合我知识等级的内容。

  6. 我继续从Practice Python网站中解决所有的任务。现在,我开始厌倦我编程例子中重复的代码==。

  7. 我按照这个教程去发布一个用Python与Django框架技术的极其简单的博客web网站。那个仍然是有点挑战,但是给了我第一次了解Python代码如何在web程序中集成。我也在Github注册了一个帐号,Github是一个非常多开发者聚集以及分享代码的地方。

  8. 读了关于Python的数据分析与可视化激励我关注这个话题一段时间,因为他为我的写作与工作提供了有趣的前景。我可能不需要提及数据在当今世界的日益增长的作用。

  9. 从这里开始,我用简单的数据可视化来玩。我第一次抓了API(Hacker News),其次是Reddit’s API。能够将我新掌握的技能与其他感兴趣的领域结合起来,是充实且激动的。

  10. 我教自己(像在其他情况下大量使用stackoverflow.com,其中相关代码的问题绝大部分已经被回答过了)连接到Google’s QPX Express API去查询机票的数据。使用它,我构建了一个本地运行的搜索引擎。令人沮丧的是,这个API被限制每天只有50次查询()。

    另外,我可能在下个月是繁忙的为了去开发最优化的查询机票工具并上线它。

  11. 目前,在通过本教程进行可视化潜在市场,我继续使用Python模块Matplot 与Pandas来研究数据可视化领域的几件事情。尽管我绝大部分只是重复造轮子(通常比原来的更糟糕),但我的志向是把我感兴趣的领域与写代码联合起来。那将是有更多的乐趣。

下一步是什么?

  • 虽然我此刻将要完成Python项目,但是这并不意味着我现在将停止学习。只需要几个星期直到我仍然摇摇欲坠的Python技能基础将彻底恶化。所以我将保持写代码状态并尝试发现使用适合我普遍的主题例子。数据分析与可视化吸引我很多,但是挑战同样存在。在过去,我读一篇博客文章(我很遗憾没找到它)描述自学编程的某人是怎样经历一个非常不合规律的学习曲线,随着快速改善的交替循环,其次是,停滞,沮丧的周期。目前看来,我好像处于高原状态,似乎并没有提高我的技能,偶尔,甚至会纠结于简单的东西。但是只要我不间断的练习与学习,下一个周期将会成长更快。

  • 我从主观意识来写这篇文章,但是我希望很明显它将是几乎每个人能做到这一点。我的最后一个建议:从我的社交媒体中挤出点时间去学习编程。你会惊讶你会有多远做到这一点。

  • 如果你有任何问题,请在评论中提出来。

420小时学习代码之后:如何教你免费自学Python的更多相关文章

  1. 只有20行Javascript代码!手把手教你写一个页面模板引擎

    http://www.toobug.net/article/how_to_design_front_end_template_engine.html http://barretlee.com/webs ...

  2. java反射机制学习代码

    根据 http://www.iteye.com/topic/137944 文档进行学习 代码如下: package reflectTest; import java.lang.reflect.*; i ...

  3. 从原理到代码:大牛教你如何用 TensorFlow 亲手搭建一套图像识别模块 | AI 研习社

    从原理到代码:大牛教你如何用 TensorFlow 亲手搭建一套图像识别模块 | AI 研习社 PPT链接: https://pan.baidu.com/s/1i5Jrr1N 视频链接: https: ...

  4. 教你用一行Python代码实现并行(转)

    教你用一行Python代码实现并行 本文教你通过一行Python实现并行化. Python在程序并行化方面多少有些声名狼藉.撇开技术上的问题,例如线程的实现和GIL,我觉得错误的教学指导才是主要问题. ...

  5. 如何免费使用GPU跑深度学习代码

    从事深度学习的研究者都知道,深度学习代码需要设计海量的数据,需要很大很大很大(重要的事情说三遍)的计算量,以至于CPU算不过来,需要通过GPU帮忙,但这必不意味着CPU的性能没GPU强,CPU是那种综 ...

  6. 常用统计分析python包开源学习代码 numpy pandas matplotlib

    常用统计分析python包开源学习代码 numpy pandas matplotlib 待办 https://github.com/zmzhouXJTU/Python-Data-Analysis

  7. 教你如何学python

    首先,你要有自信心,要明确学习目的.学Python,可以解决在软件使用中所遇到的问题,可以为找到理想工作添加重要砝码.还能锻炼思维,使我们的逻辑思维更加严密:能不断享受到创新的乐趣,将走在高科技的前沿 ...

  8. 孤荷凌寒自学python第八十二天学习爬取图片2

    孤荷凌寒自学python第八十二天学习爬取图片2 (完整学习过程屏幕记录视频地址在文末) 今天在昨天基本尝试成功的基础上,继续完善了文字和图片的同时爬取并存放在word文档中. 一.我准备爬取一个有文 ...

  9. 孤荷凌寒自学python第八十一天学习爬取图片1

    孤荷凌寒自学python第八十一天学习爬取图片1 (完整学习过程屏幕记录视频地址在文末) 通过前面十天的学习,我已经基本了解了通过requests模块来与网站服务器进行交互的方法,也知道了Beauti ...

随机推荐

  1. CSS3文本

    1.文字省略 text-overflow:ellipsis; overflow:hidden; white-space:nowrap; //text-overflow(clip.ellipsis)只是 ...

  2. 【NOIP模拟】roads(最短路径转最小生成树)

    题目背景 SOURCE:NOIP2016-RZZ-1 题目描述 有 N 个城市,这些城市通过 M 条无向边互相连通,每条边有一个权值 Ci ,表示这条边的长度为 2^(Ci) ,没有两条边的长度是相同 ...

  3. C#中的Infinity和NaN

    C#中double和float类型有两个特殊值: Infinity(无穷大):5.0 / 0.0 = Infinity NaN(not a number):0.0 / 0.0 = NaN 计算表达式 ...

  4. GetStdHandle 函数--获取标准设备的句柄

    #GetStdHandle函数 来源:https://msdn.microsoft.com/en-us/library/ms683231.aspx 作用 该函数用于取得指定的标准设备的句柄(标准输入, ...

  5. 快速搞定selenium grid分布式

    写这篇文章,似乎有点重复造轮子的嫌疑.当看了几篇相关文章后,我还是决定把半年前的半成品给完成了. 以传统的方式部署分布式Selenium Grid集群需要耗费大量时间和机器成本来准备测试环境. Sna ...

  6. 【Python】debug工具-pdb(转)

    Debug功能对于developer是非常重要的,python提供了相应的模块pdb让你可以在用文本编辑器写脚本的情况下进行debug. pdb是python debugger的简称. 常用的一些命令 ...

  7. 安装完ubuntu16.4.0之后要做的一些优化

    1.删除libreoffice libreoffice虽然是开源的,但是Java写出来的office执行效率实在不敢恭维,装完系统后果断删掉 sudo apt-get remove libreoffi ...

  8. RabbitMQ入门-消息派发那些事儿

    在上篇<RabbitMQ-高效的Work模式>中,我们了解了Work模型,该模型包括一个生产者,一个消息队列和多个消费者. 我们已经通过实例看出消息队列中的消息是如何被一个或者多个消费者消 ...

  9. mysql控制台出现“unknown column 'password' in 'field list'问题

    今天在windows系统上使用MySQL命令时,出现下面的"unknown column 'password' in 'field list'问题 解决办法如下,使用authenticati ...

  10. Red Hat 9.0 Linux 分辨率修改

    Red Hat 9.0 Linux 分辨率修改 我是在VMware Workstation中装了一个红帽的Linux系统,装上之后发现分辨率有点低,是800x600的,看着很不舒服,然后就想着怎么样可 ...