python装饰器理解

python

一 先理解这个

1、闭包

函数定义中若满足3个要素,则可称为闭包

① 外部函数A嵌套一个内部函数B

② 外部函数A返回内部函数B的函数名

③ 内部函数B调用非全局变量(即外部函数A的形参或者变量)

以下是对应的闭包例子

2、万能装饰公式:
只要你被装饰,那么相当于这个被装饰的函数的函数名=装饰器(被装饰的函数名) -- 无论怎样,先记住它

二 函数装饰器

三 类装饰器
1、先理解这个
魔术方法__call__
假如存在类A,当执行A()()时会触发执行__call__方法(即类的对象加上括号的时候)

 2、类装饰器

 

四 装饰器应用
1、第一个应用 - 通过装饰器传参,实现类似数据驱动的内容
如果要实现装饰器传参,则需要在装饰器中定义3层函数
最外层函数的返回值是第二层函数名,第二层函数的返回值是第三层函数名

2、第二个应用 - 一个函数被多个装饰器装饰,实现对旧函数新增多重功能
记住:原理“从下往上”,执行“从上往下”

以上是 python装饰器理解 的全部内容, 来源链接: utcz.com/z/529860.html

回到顶部