python-装饰器-高阶函数

一、知识点

【1】函数是最高级的对象

【2】函数名可以赋值给别的变量

【3】函数赋值的时候不加上(),就不会执行函数

def foo():
    print('f函数输出')

# 将foo函数名赋值给变量a,此时a具有foo函数的特性
a = foo
print(a) # <function foo at 0x100d63eb0>

# 执行函数
a() # f函数输出

【4】函数可以当作参数传递

# func可以是函数名,不加上括号表示函数名入参,不会执行函数
def foo1(func):
    # 执行入参函数
    func()
def foo2():
    print('函数是最高级的对象')

foo1(foo2) # 函数是最高级的对象

 【5】函数可以作为返回值

def foo3():
    def foo4():
        print('函数可以作为返回值')
    return foo4

# 执行函数foo3(),得到返回值函数名foo4
a = foo3()
# 执行foo4()函数
a()

 

posted on 2022-05-08 19:06  墙角一枝花  阅读(23)  评论(0编辑  收藏  举报