Python中的函数式编程

一. 四种编程方式

procedural

指令式编程,面向过程编程,常常拿来和面向对象作比较。最有名的当然是C。


declarative

声明式编程,典型的像SQL。


Object-oriented

面向对象编程,C++,Java,Python等。Java什么都要写在类里面,C++和Python就要灵活些,支持但不强制使用面向对象。事实上,简单的问题引入面向对象只能是画蛇添足后患无穷。


Functional

函数式编程,没有找到严格又好理解的定义。通过它的几个特点来看看吧:

  • 函数是first class object,意味着函数可以像普通变量那样作为返回值参数等。

  • 只用表达式,不用语句。语句用来执行操作,表达式一定有确定的返回值。

  • 没有副作用,不改变变量值,不能保存状态。


好像仍然不是很清楚,感觉也没必须在真正理解和用熟前去纠结这些概念,事实上很多问题都没办法或者说不适合用单一的编程方式去解决,很多语言(像C++和Python)也确实提供了对多种编程风格的支持。



你可能感兴趣的:(python,笔记)