本周是正式开始学习Python的第一周。很久不写代码了,毕业第5年了,期间几乎没怎么动过手。这段时间比较规律、密集的学习又让我找回了当时的感觉,还不算陌生,我挺喜欢的这种能实实在在看到自己知识增长的状态,每一个小case的成功运行都能带来很多成就感。对于Python的学习,我有一些自己的想法和学习体会,分享一下。

  1. 学习Python的初衷

  我的本职是产品经理,职业年龄4岁,产品经验主要面向教育行业和AI领域。决心开始学习Python是很多机缘巧合交织下的结果,有很多故事可以说,但我的初衷是以下几点:

  (1)我崇尚技术,希望自己成为一名技术型产品经理。从创业者心态上来说,内外兼修才能更能运筹帷幄。

  (2)人工智能是我选定的未来的方向。2018年初正式接触了AI,并开始做AI的应用落地,一路上听了很多“PPT型产品”的夸夸其谈,也清醒地意识到到技术发展现状距离美好想象的差距。我坚信,AI是未来不可阻挡的发展方向,我会朝着这个方向持续学习、不断精进。Python作为学习AI的基础,是我必须要掌握的技能,所以我来了。

  (3)最后一点原因是,听说Python很简单。工作以来,我丢掉了很多作为程序员的好习惯,从逻辑思维方式到工作风格上,都不尽如人意。Python作为一门“友好型”的语言,是我重返战场的很好的选择。

  2. 编程学习所必需的目标感

  学习的第一周,把Python的基础性知识重温了一遍,老师帮忙安排了结构合理、内容精当的课程资源,整个学习过程很是轻松愉快。但产品经理职业病犯了,我观察总结出了我作为学习者的一个很重要的诉求,那就是编程学习所必须的目标感,特别是针对初学者。编程是一项应用型的技能,是通过各种工具进行逻辑上的拆解组合,以最终达到解决问题的目的,学习的内容其实是如何使用工具,以及如何进行逻辑上的拆解组合,是相对抽象的小颗粒度的学习内容。正是由于编程学习具有这样的特点,就导致了学习者需要比较强烈、明确的目标感做驱动,才能让整个学习路径更清晰,主动学习的意愿也会提高。在这一周时间里,我问自己最多的一个问题是:我能用这个知识点干嘛?如果我想要解决XX问题,要学到什么程度、还需要什么知识?如果把编程课程以应用型的目标结果为导向的思路去做设计,应该会比现有的知识体系效果更好一些。

  3. 学习的方式——给初学者的学习建议

  (1)自学:学编程,拿来主义是绝对行不通的。自学是非常必要的技能之一,也应该是学编程最常应用的学习方式。千万不要指望能有一个人像小学老师一样一笔一划手把手地教,这样是不可能学有所成的。

  (2)举一反三、触类旁通:学习的是方法和某一个案例,而在应用的时候遇到的具体情况和之前学到的案例肯定不是百分百一致的,灵活地处理不同的边界问题。可以在学习过程中就多尝试几个应用例,这是个积累的过程。

  4. 读代码比写代码更难

  每个人有自己的代码风格,以学习为目的的代码阅读,需要去粗取精,快速肢解代码结构,找到最核心的自己所需要的部分,然后“精读”。说实话,我的体会是读比写更难。也正因如此,在自己写代码的时候,要从头就贯彻良好的代码风格,保持优秀的可读性。

  5. 敬畏习惯的力量

  每天100行代码,这是我和老师做的对赌协议中的一条。我已经习惯了这种每日任务的压迫感,过去将近一年时间里,基本有保持每天做工作思考和内容输出,偶尔中断。

  我很清楚自己的自制力和毅力不足,习惯拖延,也很容易放过自己,很能偷懒。我好像和“好习惯”格格不入,很难很难按照目标去坚持做一件事,去形成一种习惯;甚至在坚持了很长时间之后,还可以很容易就没什么缘由的中断放弃…现在的我虽然本质还是这样,没能洗心革面,做到完全改掉这些坏毛病,但我心中对习惯多了一种敬畏,我不再那么抗拒。我相信,会越来越好的。

【学习博客】Python学习初体验的更多相关文章

  1. 【Go 入门学习】第一篇关于 Go 的博客--Go 爬虫初体验

    一.写在前面 其实早就该写这一篇博客了,为什么一直没有写呢?还不是因为忙不过来(实际上只是因为太懒了).不过好了,现在终于要开始写这一篇博客了.在看这篇博客之前,可能需要你对 Go 这门语言有些基本的 ...

  2. python学习博客地址集合。。。

    python学习博客地址集合...   老师讲课博客目录 http://www.bootcdn.cn/bootstrap/  bootstrap cdn在线地址 http://www.cnblogs. ...

  3. 深度学习之TensorFlow安装与初体验

    深度学习之TensorFlow安装与初体验 学习前 搞懂一些关系和概念 首先,搞清楚一个关系:深度学习的前身是人工神经网络,深度学习只是人工智能的一种,深层次的神经网络结构就是深度学习的模型,浅层次的 ...

  4. JAVA学习博客---2015-8

    八月份的学习博客,今天已经是九月四号了,补上吧.现在我又回到C++了,JAVA的基本的东西都懂了,但是更好的掌握JAVA,我必须原路返回去学习C++,当初为了更快的学JAVA,其实我得C++都是跳着看 ...

  5. JAVA学习博客---2015.5

    上一次的学习博客写的和流水账差不多,有点生硬的和背目录一样,所以既然学习的目的是程序,那么这个月的学习博客就用程序来说点东西吧.这个月看了一些C和JAVA的视频,开始看别人写的程序,能看的懂但是自己去 ...

  6. JAVA学习博客----2015.4

    这是开始写的第一篇学习博客,记录一下每个月的学习进度和掌握程度,因为这是第一次写学习博客而且已经看编程方面的书已经有几个月了,所以这一篇学习博客可能看似有些乱或者篇幅太长.从十二月的<程序员教程 ...

  7. java JDK8 学习笔记——助教学习博客汇总

    java JDK8 学习笔记——助教学习博客汇总 1-6章 (by肖昱) Java学习笔记第一章——Java平台概论 Java学习笔记第二章——从JDK到IDEJava学习笔记第三章——基础语法Jav ...

  8. javascript - 浏览TOM大叔博客的学习笔记

    part1 ---------------------------------------------------------------------------------------------- ...

  9. android开发进阶学习博客资源

    Android开发者博客推荐 Android入门级 - 罗宪明 http://blog.csdn.net/wdaming1986 Android入门级 - 魏祝林 http://blog.csdn.n ...

  10. js便签笔记(12)——浏览TOM大叔博客的学习笔记 part2

    1. 前言 昨天写了<js便签笔记(11)——浏览TOM大叔博客的学习笔记 part1>,简单记录了几个问题.part1的重点还是在于最后那个循环创建函数的问题,也就是多个子函数公用一个闭 ...

随机推荐

  1. Js更改样式导致hover效果消失

    [问题来源] 今天做单次倒计时,利用JS更改了button样式之后,再次点击时,发现hover效果消失. 原因: CSS的优先级问题导致 [解决方法] 利用!important提高hover的优先级 ...

  2. 洛谷 P1452 Beauty Contest 解题报告

    P1452 Beauty Contest 题意 求平面\(n(\le 50000)\)个点的最远点对 收获了一堆计算几何的卡点.. 凸包如果不保留共线的点,在加入上凸壳时搞一个相对栈顶,以免把\(n\ ...

  3. 洛谷 画栅栏Painting the Fence 解题报告

    P2205 画栅栏Painting the Fence 题目描述 \(Farmer\) \(John\) 想出了一个给牛棚旁的长围墙涂色的好方法.(为了简单起见,我们把围墙看做一维的数轴,每一个单位长 ...

  4. 【洛谷P3600】 随机数生成器

    https://www.luogu.org/problem/show?pid=3600#sub (题目链接) 题意 一个$n$个数的序列,里面每个数值域为$[1,X]$.给$q$个区间,每个区间的权值 ...

  5. 【翻译】go memory model

    https://studygolang.com/articles/819 原文链接 Introduction The Go memory model specifies the conditions ...

  6. Flash10下复制到剪切板的一种新方法

    web开发中常常要实现“复制到剪切板”功能.这个功能很实用,但是由于安全问题,浏览器的限制越来越严,实现的方法也越来越有限了.Firefox默认下不能直接通过Javascript操作剪切板,必须开启相 ...

  7. Gulp小记

    安装 总的来说,玩gulp的流程是这样的: 安装nodejs -> 全局安装gulp -> 项目安装gulp以及gulp插件 -> 配置gulpfile.js -> 运行任务 ...

  8. elasticsearch-head安装及启动

    head是用于监控Elasticsearch状态的客户端插件,包括数据可视化,增删改查工具,es语句的可视化等等. 5.0之后的安装方式如下: git clone git://github.com/m ...

  9. EasyUI的onLoadSuccess方法

    EasyUI加载表单的时候,对表单内行数据进行判断,可以赋颜色,也可以进行其他操作 onLoadSuccess:function(data) { for(var i=0;i<data.rows. ...

  10. Linux命令之rmdir

    rmdir命令 用处:删除文件夹 用法:在终端中输入rmdir加上要删除的文件夹的名字 示例: (我要删除shuyunquan这个文件夹)