装饰器的定义 带参数的装饰器 多个装饰器装饰同一个函数 装饰器修复技术
1. 复习函数的知识,
1.1 函数名对应的内存地址

1.2函数名可以直接赋值给变量

1.3函数名可以做变量

1.4函数名可以做为函数的返回值

1.5函数名可以作为容器类函数的元素

2. 闭包
2.1 关于闭包的灵魂三问01

2,2闭包的灵魂三问02

2.3 闭包的灵魂三问03

2.4 闭包的定义
内层函数对于外层函数的非全局变量的引用,这样就形成的一个闭包,外层函数执行完成的时候,
内层的闭包函数不会消失,而是会继续在内存中存在,可以在继续的调用。

2.5 多层函数的嵌套

3 装饰器

3.1 女娲造人捏泥巴没有水怎么办?

3.3 装饰器语法糖

学习装饰器的同学们千万要注意,很多人学了一辈子都没有弄明白,一个函数前面加一个装饰器发生了什么?
把函数名当做装饰器函数的参数传进去执行装饰器函数,再将装饰器函数的inner返回值重新赋值给被装饰的函数,
对函数进行了装饰,这也是为什么叫装饰器的原因;
@wrapper
def func():
print('女娲造人')
4. 装饰器进阶
4.1 装饰带返回值的函数

4.2 装饰带参数的函数

4.3 带有参数的装饰器

4.4 多个装饰器装饰同一个函数

4.5装饰器修复技术
4.5.1未修复的情况


4.5.2装饰器修复之后


喜欢请用微信打赏
赏

浙公网安备 33010602011771号