带参数的装饰器
1、装饰器可以设置不定长参数
def fly(obj):
def wrapper(*args, **kwargs):
obj()
print(f'我会飞{args}{kwargs}')
return wrapper
@fly
def bird():
print('我是小鸟')
bird('我会跑步', '我会走路', age=1)
3、获取向装饰器中传递的数据
def fly(obj):
def wrapper(*args, **kwargs):
obj(*args, **kwargs)
print(f'我会飞{args}{kwargs}')
return wrapper
@fly
def bird(*args, **kwargs):
print(f'我是小鸟{args}{kwargs}')
bird('我会跑步', '我会走路', age=1)