大家好
这里还还还是长弓
今天我们来讲讲python中的函数式编程
目录
函数式编程
有些同学疑惑了,我们已经学了函数,为什么还要学这个函数式编程呢?
两者的区别是什么呢?
函数是一个语法,函数式编程是一种编程的思路
是将本是CPU加减乘除的过程封装成一个个函数,调用函数的过程,更整体,更人性
函数式编程允许传入一个函数作为函数参数,返回值可以为一个函数
高阶函数
我们之前学习函数时,学习了很多很多类型参数,本质是将一个个变量传递到函数内部,那我们传一个特殊的变量,函数参数也是函数,即是高阶函数。
我们单独输入函数名得到结果和将函数名赋值给a得到相同结果,所以abs其实和a一样,只是一个指向函数本体的变量。过程如下图
明白了原理,我们动手写一个高阶函数(返回x三次方的绝对值)
map
map()是python内置的高阶函数,有两个参数,第一个是函数,第二个是可迭代对象。我们来看一下
reduce
上述map中返回的是类型是一个list(传啥回啥),如果我们想让返回原list中元素的和呢?
就要使用reduce(),也是传入两个参数
我们发现reduce返回的是一个整数,那上边的xy是什么呢?