阶函数
#高阶函数 #类型1:将函数作为实参的函数,可以称为高阶函数 def test1(test2): #test1为高阶段函数 print('GL') test2() def test2(): print('HF') test1(test2) #类型2:返回值中包含函数名的函数,也可以成为高阶函数 def test3(test): #test3为高阶函数 print('3') return test def test4(): print('4') #test3(test4) ()#返回值可以直接运行 test = test3(test4) #可以将返回值赋予一个变量 test() #可以调用函数
最简单的装饰器,个人的理解
1 def test_2(test): #创建预设嵌套体,以test()函数作为主体的形参为切入点,test_2为高阶函数 2 def test_body(): #创建被嵌套体,嵌套函数(满足装饰器条件之一) 3 test() #被嵌套体声明一个函数,对应,主体函数的形参,让其升级为高阶函数的格式之一 4 print("我是未来添加的模块!") #在不改变下边函数test_1模块的基础上,直接为下面模块添加新的内容! 5 return test_body #让后将被被嵌套体的逻辑内容返回给提供嵌套的主体函数,高阶+嵌套=装饰器 6 #要点,1:必须在主体函数和被嵌套体中间搭建一个函数被主体利用的行参,桥梁,这个形参最后以函数形式出现必须在嵌套体内。 7 # 2:必须将被嵌套体的逻辑内容返回给主体。 8 @test_2 9 def test_1(): 10 print("我是原来的老模块") 11 test_1()