【Python】高阶函数

91 阅读1分钟

什么是高阶函数?

一个函数可以作为参数传给另一个函数,或者一个函数的返回值为另一个函数。

如果一个函数的返回值为该函数本身,则为递归。

一个函数的函数名作为参数传给另一个函数:

def func():
    print("定义一个普通函数")


def high_level(func):  # 行参
    print("定义一个高阶函数")
    # 在函数内部,通过传入的函数参数调用
    func()


high_level(func)  # 实参,作为参数传给另一个函数

一个函数的返回值(return)为另外一个函数:

def func():
    print('定义一个普通函数')


def highLevel(func):
    print('定义一个高阶函数')
    return func   # 返回传入的函数名
    # return func()  # 直接返回函数自己,即:递归(自己调用自己)


# highLevel(func)
res = highLevel(func)  # func是一个普通函数的函数名,func = highLevel(func)
res()   # 高阶函数返回函数之后,再调用 func 函数,这里等同于 func()