有参装饰器
一、有参装饰器
装饰器在装饰对象时,需要传参的装饰器
在某些时候,我们需要给用户的权限进行分类
@warpper1(参数1)  # inner1 = wrapper1(inner2)
@warpper2(参数2)  # inner2 = wrapper2(inner3)
@warpper3(参数3)def user_auth(user_role):
    def wrapper(func):
        def inner(*args, **kwargs):
            if user_role == 'SVIP':
                res = func(*args, **kwargs)
                return res
            elif user_role == '普通用户':
                res = func(*args, **kwargs)
                return res
        return inner
    return wrapper
# 被装饰对象
@user_auth('SVIP')
# wrapper = user_auth('SVIP')
# @user_auth('SVIP')  # wrapper = user_auth('普通用户')
@wrapper  # <--- 返回结果(wrapper) <---- user_auth()
def index():
    pass
index()

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号