python-高阶函数,内置参数
变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数,函数式编程就是指这种高度抽象的编程范式。
简例:
def add(x,y,f): return f(x) + f(y) res = add(3,-6,abs) print(res)
Map函数:
map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。 map(add, range(10), range(10))也可以有多个序列
reduce函数:
把一个函数作用在一个序列[i1, i2, i3…]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算。
和map()类似,filter()也接收一个函数和一个序列。和map()不同的时,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素,filter和reduce函数都必须是两个参数,一个是函数,有且仅有一个序列。
内置函数:https://docs.python.org/3/library/functions.html?highlight=built#ascii (详情)