python学习笔记——装饰器

#装饰器
概念:是一个闭包,把一个函数当作参数返回一个替代版的函数,本质上是一个返回函数的函数

def outer(f1): #调用函数
def inner(): #创建装饰后的函数值
pass
return inner #返回一个函数值

#简单的装饰器
代码例子:
def f(): 创建一个函数f
print(“你好!”)
def outer(f1): #调用函数
def inner(): #创建装饰后的函数值
print("***********") #装饰
f1()
return inner #返回一个函数值
f2 = outer(f) #定义一个变量接受返回的函数值
f2() #输出

#使用@符号将修饰器应用到函数
@outer:代替f2 = outer(f) 的定义步骤

def outer(f1): #调用函数
def inner(): #创建装饰后的函数值
print("***********") #装饰
f1()
return inner #返回一个函数值
f2 = outer(f)

#通用装饰器
def outer(f1): #调用函数
def inner(*args,**kwargs): #创建装饰后的函数值
#添加修改的功能
fi(*args,**kwargs)
return inner #返回一个函数值
@outer
def say(name,age):
print(“my name is %s, I am %d years old” % (name,age))
say(“maozi”,18) #调用函数

你可能感兴趣的:(python学习笔记——装饰器)