版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yjh4866/article/details/83995491
函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数!
Python对函数式编程提供部分支持。由于Python允许使用变量,因此,Python不是纯函数式编程语言。
1、高阶函数
(1)map
将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator
返回
(2)reduce
函数必须接收两个参数,reduce
把结果继续和序列的下一个元素做累积计算
from functools import reduce
(3)filter
把传入的函数依次作用于每个元素,然后根据返回值是True
还是False
决定保留还是丢弃该元素
素数生成器
(4)sorted
sorted()
函数也是一个高阶函数,它还可以接收一个key
函数来实现自定义的排序
要进行反向排序,不必改动key函数,可以传入第三个参数reverse=True
(5)返回函数,闭包
(6)
匿名函数,lambda
匿名函数只能有一个表达式,不用写return
,返回值就是该表达式的结果
(7)装饰器
函数调用时打印一些日志
(8)偏函数
functools.partial