ljxh

【转载申明:原文链接:https://www.cnblogs.com/hcxy2007107708/articles/9977639.html;原博主:大鹏】

python火了蛮久,我一直都没有关注。在很长一段时间里,我都没有关注技术,提升自己的技术。直到今年,项目组的变动,PO没了,公司的领导层整改,需要换工作了,我才意识到自己的不足。开始面试,遇到的都是要求会各种编程语言,会自动化,性能等等,面试下来,发现自己真的落后了。

   温水煮青蛙!我意识到必须得学习了,不知道怎么就找到了python ,有一种相见恨晚的感觉!说到编程语言,什么JAVA ,C,C++,ASP.net都学过,就是没学会,真是浪费时间。也许是因为python比较容易上手,学起python有一种如沐春风的感觉,一路学来,把基础都过了一 边,感觉还可以。以前自己不会写的代码,也能码上几句了,越学越过瘾,每天只要有空,基本上就看python的视频,做python的练习。

  我最开始学python看小甲鱼的视频,做小甲鱼的课后练习,效果还不错,后来也买了小甲鱼的书。入门后,也看了不少的书籍和视频,整体感觉小甲鱼讲基础真心不错。后来我在淘宝上看到了老男孩的视频,开始觉得Alex讲的视频课程,学习进度很慢,或许是习惯了小甲鱼的方式。慢慢的看了段时间后,觉得Alex讲的还是不错,越看有过瘾。目前视频还没看完成,还在继续学习,假以时日,python的功力又会深厚一层!!!

 

  到现在11月12日,已经学python四个月了。通过这四个月的学习,总结了一下的心得:

1、看视频教程学习,一定要写博客,写总结。把学习的内容总结一下,把视频讲的要点记录一下,下次省得再去看视频。我们都知道,看视频是需要花时间的,如果没有记录,时间久了,忘了,那你怎么复习。是不是又要重头看,你会发现又要花相同的时间复习起来。这时,如果有个文档,自己看下就好了。这时博客的作用就来了,可以让我快速的复习起来,不懂的地方,再去看视频,这样就有针对性,效率会高很多啊。

2、写代码前要画流程图,写伪代码。一点点的加

3、按规范来写,你是在写程序,不是脚本。

4、要学习计算思维,编程思路

计算思维(Computational Thinking)概念的提出是计算机学科发展的自然产物。第一次明确使用这一概念的是美国卡内基·梅隆大学周以真(Jeannette M. Wing)教授。计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为;计算思维最根本的内容,即其本质是抽象和自动化。何为编程思路,望文生义,思路,思考的道路,方向也。就是说,从哪里下手,从哪里着手解决问题。其实就是计算思维的具体体现,用语法来表达解决问题的方法、算法。

编程思路是训练出来的(自我训练或者跟着别人学习)

没有人天生会编程,计算机科学家总结了很多解决问题的方法(也就是算法),现在学习编程,不是从头自己发明算法,不是重新造轮子,站在巨人的肩膀上,学习计算机科学家总结出来的解决方法,利用这些成熟的算法,组合和微创新来解决自己的问题

 

解决问题时,要将任务切分,大问题化解为小问题,其中有的小问题,已经有成熟的解决方案,直接拿来用,剩下不会求解的小问题,那么就集中解决它。

训练就是要学习成熟的解决问题的方法:if 语句用来做分支判断,循环用来解决反复运算的问题。穷举法、递推、递归、排序、回溯等等(如果需要当专业程序员,需要学习数据结构和算法,设计模式等等,需要学的东西很多很多。但首先要解决的一个问题是自己能写代码解决一般问题。)训练函数抽象,类抽象解决问题。

如对有序数组,查找特定数值,没有经过训练,初学者,直接用循环遍历。如果经过二分法算法的训练,下次碰到这样的问题,就用二分法求解。

 做习题,要像开发项目的流程一样(需求->需求分析->设计->编码->测试->交付等),拿到一个习题,还没有进行分析,就匆匆忙忙敲代码,这个学习方法,是不好的学习方法。
先要分析清楚题目(所谓的需求分析,何为需求分析,请自己搜索),再设计,用那种数据类型(数据结构)来组织或保存数据,用何种算法来计算效率最高,用面向过程,还是面向对象的编程范式,还是用函数式编程等等。设计后,再编写代码,最后写测试。(也可以采用软件开发过程中的应用方法,测试驱动开发等)

 

如何才有思路,只有先经过训练常见的算法,会分解问题,会做需求分析,慢慢训练,才会养成自觉的思路。没有人一出生会编程,只有经过训练,才会学会编程。
很多牛逼程序员用vim,敲的啪啪响,一会儿一屏幕代码,为啥那么熟练使用vim,习惯成自然。

当你训练多了以后,学会一定的套路(解决问题的方法),养成独立思考的习惯,假以时日,自然就有思路了。
养成独立思考的习惯,养成切分问题,养成大问题化解小问题,养成套用学过的算法,才会有思路。
简单的判断、循环都不会写,就想玩django,何来的思路?

万丈高楼从地起,希望大家脚踏实地实地的从基础训练起,先达到独立写代码解决一般的问题,再谈项目。

 

 

************************************************************************************************************

上面的文章是原博主的博文,看了之后针对博主的经历有几点感触想说一下:

(1)做笔记。好记性不如烂笔头,无论是像博主说的看了视频之后还是做了课后习题之后要及时的在博客上做好笔记,这一点我也是最近才开始觉得真的很有用,我的博客很早前就开通了,那时候还决定走嵌入式方向的,所以关注的几个博主基本上都是搞嵌入式的,现在突然就转到python了,我也不知道是对还是不对,自己选择的路跪着也要走完,就像博主大鹏说的,语言只是一门语言,关键的还是看你怎么用,我现在刚起步没多久,所以后面的路还要跟着大鹏一起多学习,虽然还没有跟大鹏打过交道。。。。有点怯弱,毕竟我还是个菜鸡。。。。

(2)造轮子。这个主要是效率问题,以前实验室项目安排需要我学硬件的时候,我自学的32,也是看的视频学习的,那时候就是跟着代码一个一个的敲,这个有说好的又说不好的,关键还是对人吧,我个人觉得要学会利用现有的资源,既然有那么多人造好了轮子,你可以直接焊个铁架,套上轮子就可以开始跑了,干嘛还要自己去慢慢的造轮子呢,何况你造轮子的技术早就不知道已经落后多少了,所以学习要讲究效率,学会站在巨人的肩膀上看世界,这样你的眼界才会更宽广,你的世界容纳下的东西才会更多。

(3)万丈高楼平地起。很多人在学的时候都会有点好高骛远,眼高手低,看视频的时候会觉得视频里面的例程很简单,不屑于动手,做课后习题的时候也会觉得课后习题也很简单,也懒得动手,一心总想着做点什么项目之类的才能锻炼自己的能力,可是基础的东西你都没有掌握,都没有学会,这些项目那你什么去做,墙脚都没有砌牢,建成的房子可靠么?所以对于视频中的例程和课后习题一定要自己动手好好地练习,去消化。

 

以上说了这么多其实也是告诉自己,正式学习python大概有一个多月的时间,自学这条路真的很寂寞,没有别人给知道,资源什么的都是自己去找,方法也是自己去找,最后总结出来的经验也都是自己走了很多弯路才留下来的,对于小白这条路真的是道阻且长,还好今天看了大棚的博客,让我重拾博客园,以后就要经常来逛逛,多学习学习~~~

分类:

技术点:

相关文章: