zoukankan      html  css  js  c++  java
  • 有参装饰器

    TOC

    一、有参装饰器

    装饰器在装饰对象时,需要传参的装饰器

    在某些时候,我们需要给用户的权限进行分类

    @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()
    
  • 相关阅读:
    【POJ
    【POJ
    【POJ
    【POJ
    【POJ
    【POJ
    【POJ
    【POJ
    NAT
    OSPF与ACL综合实验
  • 原文地址:https://www.cnblogs.com/cnhyk/p/11890762.html
Copyright © 2011-2022 走看看