一个函数接收另一个函数作为参数,这种函数称为高阶函数。
简单例子:
def func(g, arr):
return [g(x) for x in arr]
def double(x):
return x * 2
def square(x):
return x * x
print(func(double, [1, 2, 3]))
print(func(square, [1, 2, 3]))
func
是一个高阶函数,它接收两个参数:函数和数组,作用是将函数 g 逐个作用于数组每一项,并返回一个新的数组。不难看出,输出应是:
[2, 4, 6]
[1, 4, 9]