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

如何了解装饰器

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

如何了解装饰器

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

如何了解装饰器

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

相关文章:

  • 2022-12-23
  • 2021-12-30
  • 2022-12-23
  • 2021-05-28
  • 2021-11-28
猜你喜欢
  • 2022-01-16
  • 2021-05-29
  • 2022-12-23
  • 2021-05-20
  • 2021-06-29
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案