由于开始学习VBA一段时间后,才开始正式接触python,本博客的文章也是按照先VBA后Python的顺序写的。所以有很多学习困惑方面的内容,已经在前面文章说过了,包括学习编程的好处,以及编程带来的自信。具体见《初探VBA(甜点篇)》.
既然思想上通了,剩下的就只有持续学习了。
于是在python学习上,打算从最基础的学起,逐步深入系统地了解这门语言。
因为VBA语言的使用,让我体会到了编程的特有魔力,而且一旦觉察到自己畏难,想要放弃时,我就给自己做心理按摩,从而尽快进入学习状态。
编程到底是什么?编写程序呗。那程序又是什么呢?
说实话,在这之前,我一直觉得程序这玩意很神秘,因为那些蚂蚁般密密麻麻看似非常深奥的代码,总能做出让人惊讶的东西。什么大数据啊,什么人工智能啊,只是听听就感觉高大上的不要不要的。
通过这段时间密集沉浸式的编程学习,我突然意识到以前自己好像陷入了一个误区:过于神秘化程序。以为程序本身最难,只要学了那些语法规则,就可以无所不能了。
其实,所谓程序(Programs)其实一点都不神秘。
因为程序这个东西,不过是按照一定顺序完成任务的流程。类比来看,周末你想学习做菜,于是根据菜谱,按部就班完成了一系列步骤,最终做好了一盘可口的菜肴 —— 从这个角度望来说,菜谱就是程序……
只不过,菜谱这种程序,编写者是人,执行者还是人;而我们即将要学的程序,编写者是人,执行者是计算机。还有就是,菜谱用自然语言编写,而计算机程序用编程语言编写(比如VBA或者Python)。
但“菜谱”和“计算机程序”的差异远不止如此,计算机之所以变得越来越强大,是因为它不只是一堆硬件设备,重要的是它“可编程”,而所谓可编程就是计算机在执行程序的过程中,除了可以 “ 按照顺序执行” 外,还可以 “根据不同情况执行不同的任务”,比如,“如果条件尚未满足则重复执行某一任务”。前面提到的for循环
和if分支
就负责这一部分的功能。
从结构上来看,一切的计算机程序,都由且只由两个最基本的成分构成:
运算(通过各种算法的运算,完成程序里的各种动作)
流程控制(用于控制程序根据不同情况执行不同的任务)
所以,若想学好编程,搞懂以上这2个东西就行了,那如何才能弄明白它们呢,首先你要知道它们里面到底包括些什么?
这种学习方法,是不是有些似曾相识?是的,这就类似于咱们前面提到过的程序编写时,一般都会遵循的套路:任务分解。面对一项大的任务,关键的动作是不断地拆解它,直至可执行的最小单元,上次咱们说过,程序拆解到最后的可执行的最小单元是函数,那么学习一门计算机语言,它的可执行的最小单元又是什么呢?
经过N次的搜索查找对比,我总结出了一套思维导图,用于对程序学习这个事儿的拆解,以下是以python语言的学习为例:
上面这张图展示了python这门语言的基础知识,后续所有的代码,小到一个函数模块,大到整个编程逻辑的实现,都是通过对图中这些数据类型进行一系列的运算和流程控制,才得以实现的。
也就是只要把上面这些搞明白就OK了,搞得越透彻越深入,编写出来的程序可实现的功能就越多,代码也会越简洁。
所以千万不要被那些铺天盖地的语法规则所吓倒,其实说到底,归纳起来,也就这么多内容,接下来就是针对性地学习每一块知识就可以了。
类似上述导图的学习方法,可以称之为“TOP”学习法,即,从上到下,从大到小的方式,有一种高屋建瓴的感觉,这样做的好处在于,你知道自己应该学什么,并可以随时知道自己当前处于什么位置,还欠缺什么要去学习,而不是漫无目的地。
好,本篇就说到这里,祝正在看文的你学习顺利,也祝我自己学习顺利。