第三十二节 带有参数的装饰器

def set_lenvl(level_num):
    def set_func(func):
        def call_func(*args, **kwargs):
            if level_num == 1:
                print('-----------权限%d-----------' % level_num)
            else:
                print('-------权限%d--------' % level_num)
            return func(*args, **kwargs)
        return call_func
    return set_func

@set_lenvl(1)  # 将1当做实参传给set_level函数,然后将函数的返回值作为装饰器,装饰目标函数
def ts1():
    print('------ts1---------')

@set_lenvl(2)
def ts2():
    print('---------ts2-------')

ts1()
ts2()

猜你喜欢

转载自www.cnblogs.com/kogmaw/p/12602574.html