对于函数式编程概念还不理解的情况下可以暂且这么理解:函数式编程是一种编程模式或者思想或者范式,把运算过程定义为函数。其次就是可以把函数当成变量来用,可以作为输入和输出(返回)值。
最经典的例子就是map和reduce两个bif。两个bif是用来干嘛的呢,我是这么理解的:map作用于并行计算,比如n个数要进行+1运算,那么
result = map(lambda x: x +1, [1,2,3])
print (result)
# 输出 [2,3,4]
这个lambda x: x +1
匿名函数就作为map函数的一个参数,列表里的每个item进行同样的操作。而reduce则作用于叠加计算,比如n个数相加,那么
result = reduce(lambda x,y:x+y,[1,2,3])
print (result)
表达式相当于((1+2)+3),lambda x,y:x+y
匿名函数作为reduce函数的一个参数,对列表里的item进行叠加计算。
更多函数式编程介绍请移步酷壳