python 的装饰器

前期也学过装饰器的内容,总感觉到自己还是没掌握一样,闲来继续认真看了一下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. 当然作为装饰器,装饰器本身的函数在任何情况下都是不能少的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值