面向过程&函数式

编程范式

编程范式,指的是编程的方式。更具体点是在解决实际问题时,解决问题的思路在编写代码风格上的的体现。

常见的编程范式:

  • 面向过程:将解决问题的方式流程化,一步一步逐一解决;
  • 函数式:只关注每个环节问题的结果,不关注流程细节;
  • 面向对象:将解决问题角色化,不同的角色具有不同的功能,每个角色配合工作,解决问题。

每个编程范式都有优缺点,不存在高低贵贱之分;每个范式都有其擅长的领域。

面向过程:

	- 优点:问题流程化,化繁为简,步步逼近;
	- 缺点:代码臃肿,可扩展性差。
函数式:
	- 优点:只关注结果
    - 缺点:bug难找
面向对象:
	- 优点:高度封装,可扩展性强
    - 缺点:编码难度大

面向过程使用的场景

  • 1、不是所有的软件都需要频繁更迭:比如编写脚本

  • 2、即便是一个软件需要频繁更迭,也不并不代表这个软件所有的组成部分都需要一起更迭

函数式编程

Python函数式编程:从入门到走火入魔

函数式编程(Functional Programming)源自于数学理论,它似乎也更适用于数学计算相关的场景。

函数式编程并非用函数编程这么简单,而是将计算机的运算视为数学意义上的运算,比起面向过程,函数式更加注重的是执行结果而非执行的过程,代表语言有:Haskell、Erlang。而python并不是一门函数式编程语言,但是仍为我们提供了很多函数式编程好的特性,如lambda,map,reduce,filter

函数式编程常用的一些内置函数,几乎都支持迭代器机制,这也是map、reduce、filter、sum、max这些函数体现函数式编程思想的原因。

python3相比于python2,在内置函数上做了很大了,将很多内置函数支持了迭代器机制,这是非常棒的,它让python3可以更加优雅且高效的工作。

posted @ 2020-03-25 21:36  the3times  阅读(397)  评论(0编辑  收藏  举报