带有参数的装饰器
def wrapper_out(flag): # 装饰器本身的参数 def wrapper(fn): # 目标函数 def inner(*args, **kwargs): # 目标函数执行需要的参数 if flag == True: print("问问金老板. 行情怎么样啊") ret = fn(*args, **kwargs) # 在执行目标函数之前 print("金老板骗我. 恨你") return ret else: ret = fn(*args, **kwargs) # 在执行目标函数之前 return ret return inner return wrapper # 语法糖 @装饰器 @wrapper_out(True) # 先执行wrapper_out(True) 返回一个装饰器 再和@拼接 @装饰器 def yue(): # 被 wrapper装饰 print("走啊. 约不?") yue()