1. 装饰器装饰器其实是一个函数,作用是装饰其他函数
装饰器的特点:1. 不改变被装饰的函数的源代码的情况下添加函数的功能
2. 不改变被装饰的函数的调用方式
装饰器的组成方式:高阶函数+嵌套函数
1.1 高阶函数
高阶函数,以一个函数名作为参数,传递给另一个函数,这个函数就是高阶函数。
print(abs(-10)) #abs,内置函数,返回一个数的绝对值
def test(num,func): #高阶函数,以一个函数名作为参数,传递给另一个函数
absNum = func(num) #调用函数
print(absNum)
test(-2,abs) #注意,这里写的是abs,是函数名,没有加()
map和lambda函数
map函数是一个内置的函数,它也是一个高阶函数,配合lambda(匿名函数),可以实现很多功能
lambda函数
lambda是匿名函数,没有函数名,最多支持三元运算,是一种简单的函数
三元运算:
a,b,c = 1,2,3d= 5 if a>b else c # 如果条件成立,d=5,否则就 =c
lambda函数,以:分开,:左边写参数(可以多个,以‘,’分割),右边写函数体
a = lambda n:n*2 if n<10 elsenprint(a(6))
b= lambda x,y:x+yprint(b(1,