从零开始学Python-Day24-函数式编程Functional programming

Python零基础 木人张 3年前 (2020-03-27) 774次浏览 0个评论 扫描二维码
文章目录[隐藏]

Python与函数式编程

函数式编程,就是编程工作的一种范式、一种方法论,相对应的有过程式编程、面向对象编程、指令式编程等等。
函数式编程强调的是程序执行的结果而非过程,提倡用若干简单的执行单元让计算结果不断渐进,逐层推导复杂的运算,而不是设计一个复杂的执行过程。
计算机在执行任务时,只能执行一步一步的指令,加减乘除、判断、跳转,像汇编语言,属于低级语言,贴近计算机直接执行,远离计算过程,像C语言;
高级语言是抽象的,贴近计算、贴近自然语言,远离计算机直接执行,执行效率低,像Python
函数式编程可以归类到面向过程编程,但是更加贴近数学计算。纯粹的函数式编程具有没有语句只有表达式,没有副作用(输入确定输出就是确定的),不能修改状态等特点。
Python对函数式编程提供部分支持。由于Python允许使用变量,因此,Python不是纯函数式编程语言。

函数式编程知识拓展

函数式编程的定义

“函数式编程”是一种”编程范式”(programming paradigm),它属于”结构化编程”的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用。

函数式编程的特点

1. 函数是”第一等公民”:与其他数据类型一样,处于平等地位,可以赋值给其他变量,也可以作为参数,传入另一个函数,或者作为别的函数的返回值。
2、只用”表达式”,不用”语句”:表达式就是计算,总会有返回的值;语句可能是执行某个操作,没有返回值。
3、没有”副作用”:“副作用”指的是函数内部与外部互动,产生运算以外的其他结果,即函数是独立的,没有变量。
4、不修改状态:只有计算结果,不修改变量
5、引用透明:不存在因状态不同而导致的结果不同,函数式编程返回值唯一。

函数式编程的意义

1、代码简洁,开发迅速:大量使用函数,减少代码重复,总行数短了,开发自然快了。
2、更接近自然语言,更容易理解
3、代码管理方便,可以把每个函数单独测试和debug及调用
4、易于并发编程:因为不修改变量,不存在锁线程问题,不用担心数据被别的线程修改。
5、可以热升级:由于没有副作用,可以在运行状态中升级代码,不需停机和重启。


木人张,版权所有丨如未注明 , 均为原创,禁止转载。
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址