版权声明: https://blog.csdn.net/qq_37457432/article/details/87970660
函数式编程的例子
把函数当成变量来用,一个函数接收另外一个函数作为参数,这样的函数叫做高阶函数(Higher-order Functions)
#高阶函数
#首先自己定义一个函数,平方函数
def square(x):
return x*x
#定义一个可以将函数作为参数传入
#也可以将一个数据存储结构作为参数传入的函数
def func(f,arr):
return [f(x) for x in arr]
#运行“复合”函数
print(func(square,[1,2,3,4]))
#注意:在本例子中,传入的是一个list [1,2,3,4]
#square函数为内函数,决定内部运算结果:平方
#func为外函数,再对参数、内部运算结果进行的算术操作:遍历、运算、返回
def total(f,arr):
tot=0
for x in arr:
tot+=f(x)
return tot
#total函数则对本例中传入的链表中的每一个数进行平方再加和
print(total(square,[1,2,3,4]))
运行结果:
[1, 4, 9, 16]
30