装饰器:
本质是函数,它是赋予函数新功能,但是不改变函数的源代码及调用方式
原则:
1.不能修改被装饰函数的源代码
2.不能修改被装饰函数的调用方式
这两点简而言之,就是装饰器对被装饰函数来说是透明的
知识储备
1.函数即变量
比如定义了一个变量 x = ‘gkx’ python是一门解释性语言,解释了‘gkx’,并给它分配了内存地址,而 x 就是这个内存地址的一个索引,类似门牌号。
同理可得 def test():print('gkx') 定义了一个函数 test是它的门牌号,print('gkx')分配了一个内存地址。故可以理解为函数即变量。
2.高阶函数
3.嵌套函数