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

Python装饰器

时间:2020-05-20 20:28:33      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:color   style   语法   符号   一个   pre   log   等价   调用   

装饰器

装饰器语法

def logger(fn):
    def wrapper(*args,**kwargs):  #包装函数
        print("调用前增强")
        ret = fn(*args,**kwargs)  #参数解构
        print("调用后增强")
        return ret
    return wrapper

@logger    #等价于add==>logger(add)==>add==>wrapper
def add(x,y):  #被包装函数
    return x+y
print(add(100,200))
  • 无参装饰器
  1. @符号后是一个函数
  2. 虽然是无参装饰器,但@后的函数本质上是单参函数
  3. logger会把它下面紧挨着的函数标识符提上来作为它的实参传入

 

Python装饰器

标签:color   style   语法   符号   一个   pre   log   等价   调用   

原文地址:https://www.cnblogs.com/fjjj/p/12823591.html

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