学习
实践
活动
专区
工具
TVP
写文章

十周python入门,我学到了什么

唔~ 最近忙完了几件大事,终于有时间来分享一下学习编程的经验~

首先,介绍下大概的背景:我是在udacity学习的python入门课程,课程时间2018.6.20-8.29共10周,包括5个大章节的基础视频课程和课后练习 + 2个实战项目,课程费用大概一千多。如果没有在有效期内完成所有实战项目,教室就要被锁住无法再学习;有效期内毕业后,课程和做过的项目就可以一直回看!(个人觉得这种学习机制还是很好的,一想到那么贵的学费不毕业就心疼)

本篇主要讲讲编程教给我的思维方式,下篇将写一些给想入坑者的建议和经常被问到的问题。所以,这十周编程,我都学到了什么呢~

1

打好基础很重要

最基础的东西靠的是基本的重复和积累

编程对我来说是一个全新的领域,就像学习一门新的语言,最基础的单词、语法都是需要记熟之后才能灵活运用的。虽然我们不推崇死记硬背,但是很多事情,只有达到一定量的积累之后才有可能做到融会贯通。

当我过完第一遍基础课程的时候,对于python的数据类型、运算符和函数等基本内容都有了一定的了解,但是拿到第一个实战项目的时候还是懵了,因为它将之前的知识点整合在一起,而我无法直接回想起这些知识点都分布在哪儿。思考之后,我决定从头再把教程看一遍。这一次,我边看边用ipad把重点记下来,每天复习,看到可能有助于解决实战项目的点就回去思考一下题目。等这一遍快过完的时候,再看题目果然有种豁然开朗的感觉~

其实入门的题目往往不难,没有思路是因为基础知识点还没有形成记忆连接。这时候,与其费劲脑汁去找捷径,不如踏踏实实地巩固基础,往往就会有突破。

2

项目拆分,各个击破

项目拆分是我在编程中学到的第二个重要的思想,也是在设计和工作的方方面面都会用得到的能力。每当拿到一个project,首先把需求分成几个大的部分,然后再把每个部分拆分成数个可执行的action。

这样做有几个好处:

便于多人协作,团队分工;

能够把自己可以做的部分先解决掉,不能做的部分向别人请教的时候也更有针对性。

例如:第二个豆瓣项目的任务是:

从豆瓣电影的网页中获取你最爱的三个类别,各个地区的高评分电影,收集他们的名称、评分、电影页面的链接和电影海报的链接。最后对收集的数据进行简单的统计。

我们可以首先把这个任务拆分成六个子任务:

任务1:获取每个地区、每个类型页面的URL

任务2: 获取电影页面 HTML

任务3: 定义电影类

任务4: 获得豆瓣电影的信息

任务5: 构造电影信息数据表

任务6: 统计电影数据

而这六个子任务中的每一个又可以拆分成多个可执行的步骤,如任务4:

第1步:找到对应页面的HTML

第2步:找到每个电影信息在页面中的位置

第3步:提取电影各部位信息内容

第4步:将提取的内容和对应类型按顺序存放

3

随时测试,不断迭代

测试是编程中另一个重要的思维。编程的纯数字化给测试反馈提供了捷径,我们不但可以方便的在终端进行测试,有时还可以得知可能的错误位置和类型。

后来我养成了习惯,每次写一个功能模块,就先run一遍看看有没有什么bug,这样可以快速定位和修改,提高效率。

4

建立可持续的系统

优化代码结构,考虑他人和未来

最后一个不是必须,但最好养成的习惯是:随时标注。对于每一个代码块的目的和参数、可能含有歧义的词语以及你的reference都可以用标注的形式在代码中注明。

这样做有两个好处:

方便其他同事快速理解你代码的含义和逻辑;

方便自己日后回忆和迭代。

/系列小说明/

因为最早对于科技的兴趣来源于互联网上程序员们写的优质独立博客,其中阮一峰先生翻译的《黑客与画家》对我的人生观世界观产生了非常大的影响,而“黑客与画家”这个词也很好地概括了我所希望的一种状态,是酷而诗意的。故以此命名这个系列,存放一些技术相关的文章~

/New Challenge/

康奈尔大学 | 《公民生态学》课程

2018年9月18日-11月5日 共七周

在本课程中,学员们将通过探讨人、地方和实践以重建自然和振兴社区。公民生态实践,如社区花园、溪流修复、树木种植和垃圾清理等,都是当地社区——尤其是那些面对环境恶化、自然灾害,或贫困、犯罪等社会冲突的社区——借以发展韧性(resilience)的手段。而公民生态学就是研究在这些发展韧性的过程中,个人、社区和环境获得的成效,以及他们对治理和生态系统服务作出的贡献。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180908G17PP200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券