python 的装饰器

python 的装饰器,第1张

前期也学过装饰器的内容,总感觉到自己还是没掌握一样,闲来继续认真看了一下B站的一些大神的视频,突然有了自己的理解。

总的来讲装饰器是用来装饰函数的,一个完整的装饰器分为配置函数、装饰器(函数)、包装器函数,其中配置函数和包装器函数不是必须的,但是在特定环境下是必须的,下面分两块来解释:

一、什么是配置函数、装饰器(函数)、包装器函数

看示例代码:

/

def dec(x):
    def inner_dec(fun):
        def wrapped(*args,**kwargs):
            result = fun(*args,**kwargs) + x
            return result
        return wrapped
    return inner_dec

@dec(8)
def writedata(x):
    x = x + 1
    return x

示例代码中dec函数就是配置函数、inner_dec是装饰器函数、wrapped是包装函数。

二、什么情况下必须要用到配置函数和包装器函数
  1. 配置函数是用来给装饰器传参的,当然参数可以是多个。
  2. 包装器函数是给被装饰的函数传参的,也就是给示例代码的writedata传参的。
  3. 当然作为装饰器,装饰器本身的函数在任何情况下都是不能少的。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/919025.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存