赞
踩
装饰器。。。理解还是有点模糊。摸透了再补充
class Person():
def __init__(self, name, quan):
self.name = name
self.quan = quan
# 设置一个类表示个人, 有姓名 权限 两个属性
def jiaoYan(num): def setQuan(func): def inner(person): if num & person.quan == num: # 当校验通过 可以执行该操作 func(person) else: print(person.name, "无权限") return inner return setQuan @jiaoYan(1) def read(person): print(person.name, "读代码") @jiaoYan(2) def write(person): print(person.name, "写代码") @jiaoYan(4) def run(person): print(person.name, "执行代码") p1 = Person("张三", 1) # 只有读权限 p2 = Person("李四", 3) # 读写权限 p3 = Person("王五", 6) # 写与执行权限 read(p1) write(p2) read(p3) run(p3)
执行结果为
张三 读代码
李四 写代码
王五 无权限
王五 执行代码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。