大家好
这里还还还是长弓

今天我们来讲讲python中的函数式编程
目录
函数式编程
有些同学疑惑了,我们已经学了函数,为什么还要学这个函数式编程呢?
两者的区别是什么呢?
函数是一个语法,函数式编程是一种编程的思路
是将本是CPU加减乘除的过程封装成一个个函数,调用函数的过程,更整体,更人性
函数式编程允许传入一个函数作为函数参数,返回值可以为一个函数
高阶函数
我们之前学习函数时,学习了很多很多类型参数,本质是将一个个变量传递到函数内部,那我们传一个特殊的变量,函数参数也是函数,即是高阶函数。
我们单独输入函数名得到结果和将函数名赋值给a得到相同结果,所以abs其实和a一样,只是一个指向函数本体的变量。过程如下图
明白了原理,我们动手写一个高阶函数(返回x三次方的绝对值)
map
map()是python内置的高阶函数,有两个参数,第一个是函数,第二个是可迭代对象。我们来看一下
reduce
上述map中返回的是类型是一个list(传啥回啥),如果我们想让返回原list中元素的和呢?
就要使用reduce(),也是传入两个参数
我们发现reduce返回的是一个整数,那上边的xy是什么呢?
第一次的x是1,y是2
第二次的x是3(1+2),y是3
依次循环,直到最后一个数据
这里需要注意,使用reduce需要从functools模块中导入
模块我们下一篇文章会细讲
filter
filter()函数和map函数类似,同样是返回一个可迭代对象
不同的是filter会通过条件筛选,只保留符合条件的元素
&nbs

本文介绍了Python中的函数式编程思想,包括高阶函数、map、reduce、filter、sorted的使用,以及返回函数、闭包、nonlocal、匿名函数lambda、装饰器和偏函数的概念与实践。通过实例解析,帮助读者掌握函数式编程的魅力。






最低0.47元/天 解锁文章
303

被折叠的 条评论
为什么被折叠?



