python 高阶函数
高阶函数
函数的参数是另一个函数,该函数接受的参数必须有函数,然后返回处理结果,函数可以当参数传入这种思想就是面向函数式编程.
常见内置高阶函数
map
map可接受多个参数,第一个参数是函数,其他参数必须是可迭代对象,该函数会一次取可迭代对象的元素用传入的函数处理,将处理的结果返回一为个迭代器
reduce
reduce将一个函数作用在一个序列上,这个函数必须有两个参数,处理过程为,第一次取序列的前两个元素,传入函数,得到处理结果,以后每次用上一次处理得到的结果为第一个参数,序列的下一个元素为第二个参数,进行处理,重复步骤,最终只返回一个结果.
filter
filter和map类似,接受两个参数,一个函数,一个序列,一次从序列中取一个元素用函数处理,函数结果返回True或False,保留结果为True的元素,最后返回所有结果为True的元素的迭代器(不返回处理结果)
sorted
sorted用于排序,该函数可接收3个参数,排序对象,key,reverse
key传入一个函数,控制排序规则,如key=abs,按绝对值排序
reverse控制顺序或逆序,reverse=True,逆序
partial
默认参数:设置默认参数后,调用该函数时如果不传参数,会使用默认参数,本质还是同一个函数
partial功能:将函数的参数固定,生成新的函数,每次调用新生成的函数
new_int=partial(int,base=2)