首页 > 其他 > 详细

有参装饰器

时间:2019-11-14 01:04:18      阅读:105      评论:0      收藏:0      [点我收藏+]

装饰器分为无参装饰器和有参装饰器

无参装饰器:在装饰被装饰对象时,没有参数传入的装饰器

有参装饰器:通过三层闭包,最外层传值,为装饰器提供多样功能选择(客户权限分类)。

# 有参装饰器: 在某些时候,我们需要给用户的权限进行分类
def user_level(level):
    def deco(func):
        def wrapper(*args,**kwargs):
            if level == VIP:
                # 添加超级用户的功能
                print(&&&&&)
                res = func(*args,**kwargs)
                return res
            elif level == Normal:
                # 添加普通用户的功能
                print(#####)
                res = func(*args,**kwargs)
                return res
            else:
                print(无权限)
                return 
        return wrapper
    return deco

@user_level(111)

def skin():
    print(*****)
skin()

>>>无权限

 

有参装饰器

原文:https://www.cnblogs.com/littleb/p/11854259.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!