装饰器
对于某个函数,如果我们希望在不改变该函数代码下的前提下,为该函数增加额外的功能,那么就可以使用装饰器来装饰该函数。
- 装饰器是一个函数,装饰器接收一个函数作为参数(传入的实参是被装饰的函数)。
- 装饰器的内部嵌套定义另一个函数,内函数会引用装饰器的参数,并且装饰器的返回值时内函数。(共2层,外层是装饰名)
- 为了让内函数接收任意类型的参数,将内函数的形参定义为(*args, **kwargs)
- 在函数中,首先完成为被装饰函数添加到新功能,然后调用被装饰的函数
- 把装饰器应用到被装饰函数的语法为:在被装饰函数的前面添加"@装饰器的函数名"
@notice 等价于 add = notice(add)
类方法
- 类方法指的是类对象中使用装饰器