二十一、深入Python强大的装饰器

举报
毛利 发表于 2021/07/15 07:02:53 2021/07/15
【摘要】 @Author: Runsen 文章目录 闭包 装饰器 嵌套函数的装饰器 带参数嵌套函数的装饰器 类装饰器 嵌套装饰器 @Date:2019年07月11日 最近有同学在问关于Python中装饰器的问题,说不太理解装饰器的装饰过程。 那么在下面Runsen来给大家深入讲解一下装饰器的整个实现过程的。 闭包 想...

@Author: Runsen

@Date:2019年07月11日

最近有同学在问关于Python中装饰器的问题,说不太理解装饰器的装饰过程。

那么在下面Runsen来给大家深入讲解一下装饰器的整个实现过程的。

闭包

想要理解Python中的装饰器,不得不先理解闭包(closure)这一概念。

闭包就应该想起了嵌套函数,也可以将闭包理解为一种特殊的函数,这种函数由两个函数的嵌套组成,外函数和内函数。

def 外层函数(参数): def 内层函数(): print("内层函数执行", 参数) return 内层函数

内层函数的引用 = 外层函数("传入参数")
内层函数的引用()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了一个闭包。

下面举一个具体的闭包函数的实例,代码如下。

# outer是外部函数
def outer(a): # inner是内函数 def inner( b ): #在内函数中 
  
 
  • 1
  • 2
  • 3
  • 4

文章来源: maoli.blog.csdn.net,作者:刘润森!,版权归原作者所有,如需转载,请联系作者。

原文链接:maoli.blog.csdn.net/article/details/95500002

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。