装饰器详解
1.装饰器是什么?
记住下图就够了:
作用: 在不改变源代码的基础上,实现,在原函数上新增功能;
2.解释器执行装饰器 过程:
知识点补充:
2.1函数也是一个对象
def fun():
....
return a
# 定义一个函数,只是在内存中创建了一个变量fun,不去调用函数,则函数里边的代码不执行;
# fun这个函数名----->代指 这整个函数所在的内存空间,func()则是去执行这个函数;
2.2嵌套函数
1)函数内部也可以使用另一个函数;
2)函数内部可以定义一个新的函数(装饰器就用了这一点);
3.装饰器 返回值的问题
# 函数遇到return 就不执行了,退出函数。
4.原函数有参数的装饰器 写法:
一下是单个参数的时候:
通用的解决方案:
5. 装饰器 常用的实例