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技能基础将彻底恶化。所以我将保持写代码状态并尝试发现使用适合我普遍的主题例子。数据分析与可视化吸引我很多,但是挑战同样存在。在过去,我读一篇博客文章(我很遗憾没找到它)描述自学编程的某人是怎样经历一个非常不合规律的学习曲线,随着快速改善的交替循环,其次是,停滞,沮丧的周期。目前看来,我好像处于高原状态,似乎并没有提高我的技能,偶尔,甚至会纠结于简单的东西。但是只要我不间断的练习与学习,下一个周期将会成长更快。
我从主观意识来写这篇文章,但是我希望很明显它将是几乎每个人能做到这一点。我的最后一个建议:从我的社交媒体中挤出点时间去学习编程。你会惊讶你会有多远做到这一点。
如果你有任何问题,请在评论中提出来。
420小时学习代码之后:如何教你免费自学Python的更多相关文章
- 只有20行Javascript代码!手把手教你写一个页面模板引擎
http://www.toobug.net/article/how_to_design_front_end_template_engine.html http://barretlee.com/webs ...
- java反射机制学习代码
根据 http://www.iteye.com/topic/137944 文档进行学习 代码如下: package reflectTest; import java.lang.reflect.*; i ...
- 从原理到代码:大牛教你如何用 TensorFlow 亲手搭建一套图像识别模块 | AI 研习社
从原理到代码:大牛教你如何用 TensorFlow 亲手搭建一套图像识别模块 | AI 研习社 PPT链接: https://pan.baidu.com/s/1i5Jrr1N 视频链接: https: ...
- 教你用一行Python代码实现并行(转)
教你用一行Python代码实现并行 本文教你通过一行Python实现并行化. Python在程序并行化方面多少有些声名狼藉.撇开技术上的问题,例如线程的实现和GIL,我觉得错误的教学指导才是主要问题. ...
- 如何免费使用GPU跑深度学习代码
从事深度学习的研究者都知道,深度学习代码需要设计海量的数据,需要很大很大很大(重要的事情说三遍)的计算量,以至于CPU算不过来,需要通过GPU帮忙,但这必不意味着CPU的性能没GPU强,CPU是那种综 ...
- 常用统计分析python包开源学习代码 numpy pandas matplotlib
常用统计分析python包开源学习代码 numpy pandas matplotlib 待办 https://github.com/zmzhouXJTU/Python-Data-Analysis
- 教你如何学python
首先,你要有自信心,要明确学习目的.学Python,可以解决在软件使用中所遇到的问题,可以为找到理想工作添加重要砝码.还能锻炼思维,使我们的逻辑思维更加严密:能不断享受到创新的乐趣,将走在高科技的前沿 ...
- 孤荷凌寒自学python第八十二天学习爬取图片2
孤荷凌寒自学python第八十二天学习爬取图片2 (完整学习过程屏幕记录视频地址在文末) 今天在昨天基本尝试成功的基础上,继续完善了文字和图片的同时爬取并存放在word文档中. 一.我准备爬取一个有文 ...
- 孤荷凌寒自学python第八十一天学习爬取图片1
孤荷凌寒自学python第八十一天学习爬取图片1 (完整学习过程屏幕记录视频地址在文末) 通过前面十天的学习,我已经基本了解了通过requests模块来与网站服务器进行交互的方法,也知道了Beauti ...
随机推荐
- CAP 介绍及使用【视频】
前言 很多同学可能对于CAP这个项目想有更一步的了解,包括她的工作原理以及适用的场景,所以博主就准备了一场直播给他家讲解了一下,这个视频是直播的一个录像. 由于我这次直播本来是没有打算对外的,所以也是 ...
- hibernate 使用枚举字段的最佳实践
枚举类虽然很简单,但是却往往是系统中业务逻辑最集中最复杂的地方.本文将会分享我们项目中基于hibernate的枚举类使用规范,包含数据库中枚举列数据类型.注释.枚举列与枚举类的映射等. 一.枚举类定义 ...
- jsp元素
1.指令元素:用于在JSP转换为Servlet阶段提供JSP页面的相关信息,如页面采用的字符编码集.页面中需要导入的类等信息,指令元素不会产生任何的输出到当前JSP的输出流中 指令元素有三种指令:pa ...
- Spring事务管理的另一种方式--TransactionTemplate编程式事务管理简单入门
1, 一直以来, 在用Spring进行事物管理时, 只知道用声明式的策略, 即根据不同的数据源, 配置一个事物管理器(TransactionManager), 通过配置切面(PointCut)应用到相 ...
- git相关的学习资料
1, 一个比较详细的git使用说明: http://blog.jobbole.com/78960/
- Swift学习之元组(Tuple)
定义 元组是由若干个类型的数据组成,组成元组的数据叫做元素,每个元素的类型都可以是任意的. 用法一 let tuples1 = ("Hello", "World" ...
- 创建 overlay 网络 - 每天5分钟玩转 Docker 容器技术(50)
上一节我们搭建好实验环境,配置并运行了consul,今天开始创建 overlay 网络. 在 host1 中创建 overlay 网络 ov_net1: -d overlay 指定 driver 为 ...
- year:2017 month:08 day:03
2017-08-03 JAVAse 继承 继承:通过extends关键字可实现类与类之间的继承 父类:基类/超类 子类:派生类 1.继承的特点:单继承[一个类只能有一个父类]多层次[父类还可有父类] ...
- Redis-误操作尝试恢复
如果不小心使用了flushall把全部数据清楚怎么办 127.0.0.1:6379> set site www.google.com OK 127.0.0.1:6379> set addr ...
- [补档][NOIP2015] 斗地主
[NOIP2015] 斗地主 题目 传送门:http://cogs.pro/cogs/problem/problem.php?pid=2106 INPUT 第一行包含用空格隔开的2个正整数Tn,表示手 ...