带参数的装饰器


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)

results matching ""

    No results matching ""