python中的装饰器

这篇文章给你们介绍一下python中的装饰器。在了解装饰器以前,咱们先来了解一下闭包函数。python

  • 内部函数里引用了外部函数里定义的对象(不是全局变量),那么此时内部函数就被称为闭包函数
  • 内部函数里引用了外部函数里定义的对象(甚至是外层以外,但不是全局变量),那么此时内部函数就被称为闭包函数

下面看一个简单的闭包例子;闭包

 

 接下来作个小总结,什么函数能够被称为闭包函数呢?函数

主要知足两点:一、函数内部定义的函数;spa

       二、引用了外部变量但不是全局变量3d

有了闭包的了解,在去理解装饰器会比较容易一些对象

*python装饰器本质上就是一个函数,它可让其余函数子啊不须要作任何代码变更的前提下增长额外的功能,装饰器的返回值也是一个函数对象blog

下面咱们来看一下装饰器的官方解释:变量

  • 装饰器就是对被装饰的对象(函数、类)进行重构的,其能够在不改变原来对象的状况下调用对象时执行重构后的行为
  • 解决问题:在函数执行以前和执行以后添加功能,调用函数的方式改变了
  • 不改变原有函数的调用方法:函数里面嵌套函数,而且返回嵌套的函数

下面让咱们更近一步的看看生成器(全在图里)重构

 

 上图的解释是多么的细致,相信你们必定对生成器有了必定的了解,这篇文章就到这里啦,但愿对你们有所帮助。引用

相关文章
相关标签/搜索