原文地址: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. Druid 详细介绍

    文章来自阿里巴巴 Druid是一个JDBC组件,它包括三部分:  DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系. DruidDataSource 高效可 ...

  2. maven依赖jar包更新,业务jar需同步更新(业务jar依赖API)

    背景: 环境出现问题,定位为依赖jar缺失,修改工程pom文件补充依赖jar. 更新要点说明: 依赖jar,更新提交 业务jar,也需更新提交:maven构建会把依赖jar引用进去,更新环境如果单独更 ...

  3. 关于frameset的一些小总结

    如果我们在一个页面需要由多个子页面一同组成,那么我们可以通过frameset标签来嵌套别的页面 例如 这样的页面布局的思路是: 1,先将页面分为上下两部分也就是 A B 2,再将B部分分为左右两部分 ...

  4. 让初学者快速了解Git

    Git工作原理 为了更好的学习Git,我们们必须了解Git管理我们文件的3种状态,分别是已提交(committed).已修改(modified)和已暂存(staged),由此引入 Git 项目的三个工 ...

  5. 基于FPGA的VGA显示静态图片

    终于熬到暑假了,记过三四周的突击带考试,终于为我的大二画上了一个完整的句号,接下来终于可以静心去做自己想做的事情了,前一阵子报了一个线上培训班,学学Sobel边缘检测,之前一直在学习图像处理,但是因为 ...

  6. 小白浅论JAVA数组中“for加强版”

    代码: /*String[] s=new String[]{"sdsfd","fgd","sdf"}; for(String a:s) Sy ...

  7. 使用HTML5 FormData对象实现大文件分块上传(断点上传)功能

    FormData是HTML5新增的一个对象,通过FormData对象可以组装一组用 XMLHttpRequest发送请求的键/值对.它可以更灵活方便的发送表单数据,因为可以独立于表单使用.如果你把表单 ...

  8. 【原创】-- C# 点滴积累 -- String

    一.string.Format() 将[数字字符串]转为两位小数显示的字符串: dt = dtResult.Select(it => new CommodityPriceLimitEntity ...

  9. HDU 6069

    Counting Divisors Problem Description In mathematics, the function d(n) denotes the number of diviso ...

  10. Javascript跨域后台设置拦截

    子域名之间互相访问需要跨域 结论放在开头: 服务端必须设置允许跨域 客户端带cookie需要设置withCredentials 无论服务端是否允许跨域,该request都会完整执行 options预请 ...