如何了解装饰器

       什么是装饰器呢?为什么要用装饰器呢?刚开始学习的时候还不太了解,后来搜集一些资源整理一下,如有错位请多多指教。
       当我们要使用一个函数实现某种功能,但这个函数无法完全适合(比如:欠缺一些使用条件),而且原函数又不能被改变(或改变比较繁琐),装饰器就派上用场了。
使用方法:先写一个函数,该函数接受一个函数作为参数,返回一个闭包而且闭包中执行了传递进来的函数,闭包中可以在函数执行的前后添加一些内容。使用时可以直接在被装饰的函数上面加上@函数名。
       示例1:简单的装饰器(无参无返回值)

      说明:返回inner函数相当于装饰过后的函数func()。
      示例2:复杂点的装饰器(带参有返回值)


       这种装饰器具有一定的局限性,只能将带有两个参数的函数进行装饰,无法发挥装饰器强大的功能。因此,*args和**kwargs就发挥作用了。
       示例3:通用的装饰器(可以将任意的函数进行装饰)


       注意:*args表示的就是将实参中按照位置传值,多出来的值都给args,且以元组的方式呈现;**kwargs是一个字典,用于存放所有多出来的关键字参数。
通过上面的例子我们就知道装饰器的强大作用了吧!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值