码迷,mamicode.com
首页 > 编程语言 > 详细

Python 带有参数的装饰器

时间:2018-12-14 22:39:27      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:目标   class   执行   **kwargs   拼接   参数   lse   需要   lag   

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()

  

Python 带有参数的装饰器

标签:目标   class   执行   **kwargs   拼接   参数   lse   需要   lag   

原文地址:https://www.cnblogs.com/demons97/p/10121674.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!