1、高阶函数分为两种:函数作为返回值返回、函数作为参数进行传递
2、函数作为返回值:
def func():
print(1)
def inner():
print(2)
return inner
inner = func()
inner()
注意,返回的函数inner只是一个函数名,并未在后面加上括号。这里可以理解为,我们返回的是一个函数名,在后面我们将func()这个函数赋值给它
(加上括号即为调用函数inner,但由于inner并没有返回值,或者说返回值为None,如果return后写的是inner(),那么这一行代码写和不写,结果都是一样的)
3、函数作为参数:
def sum_num(num1, num2):
result = num1 + num2
return result
def func(num1, num2, new_func):
value = new_func(num1,num2)
print(value)
func(1,2,sum_num)
这里我们定义了两个函数 sum_num 和 func,前者作为参数被后者引用