想要了解python 的装饰器,需要先了解python的函数 的一些特性
函数特性
1.函数可以作为变量进行传递
2.函数可以作为参数进行传递
3. 函数可以作为返回值; 函数的返回值 可以是一个函数(内存地址)
4.函数间可以嵌套,并且作用域只有函数内可以访问
# 其实加了装饰器后,执行的是装饰器函数,该函数本身并不会在此处被调用
比如下面示例,我调用了a函数,但a函数并没有被执行,而是执行了logo函数
一个函数加了装饰器后,在调用时 调用的是装饰器函数,而不是该函数;该函数只是以实参的方式进入的装饰器函数
当了解了这个特性后,我们就可以做很多事情了,比如,写一个logo日志函数; 当这个函数被调用时,我们可以得到这个函数的名称,信息,等等信息来记录出来;
装饰器和函数都需要传参的示例 (主要利用了函数内可以封装函数的 闭包的特性):