装饰器
装饰器:
把一个函数当作参数,返回一个替代版的函数
本质上就是一个返回函数的函数“在不改变原函数的基础上,给函数增加功能”
def decorator(func):
def wrapper(*args,**kwargs): # 设置形参,设置关键字参数**kwargs
print(time.time())
func(*args,**kwargs) # 执行所所装饰的函数
return wrapper
@decorator
def f1 (func_name):
print('This is a function '+func_name)
@decorator
def f2 (func_name1,func_name2):
print('This is a function '+func_name1)
print('This is a function '+func_name2)
@decorator
def f3(func_name1,func_name2,**kwargs):
print('This is a function '+func_name1)
print('This is a function '+func_name2)
print(kwargs)
# 函数中有关键字参数
f1('test')
f2('test1','test2')
f3('test1','test2',a=1,b=2,c='westos')
装饰器使用练习
装饰器实现一