# 无参装饰器 def wrapper(func): def inner(*args, **kwargs): print("执行前") res = func(*args, **kwargs) print("执行后") return res return inner # 有参装饰器 def outer(flag): def wrapper(func): def inner(*arg, **kwargs): if flag: print("执行前") res = func(*arg, **kwargs) print("执行后") return res else: print("没有权限") return return inner return wrapper