装饰器是一种闭包函数,装饰器中包含的内部函数相当于被装饰的函数,所以当被装饰的函数是有参函数时,装饰器的内部函数也应该有参数
装饰器的语法有2中:
一种是 被装饰函数名 = 装饰器函数名(被装饰函数名)
func = decorator(func)
第二种是在被装饰函数的上一行添加一行代码 @装饰器名
为了实现有返回值的函数被装饰了之后仍然有返回值,需要内部函数与被装饰函数的返回值保持一致。
多个装饰器装饰一个函数,最外层的装饰器最先执行
装饰器是一种闭包函数,装饰器中包含的内部函数相当于被装饰的函数,所以当被装饰的函数是有参函数时,装饰器的内部函数也应该有参数
装饰器的语法有2中:
一种是 被装饰函数名 = 装饰器函数名(被装饰函数名)
func = decorator(func)
第二种是在被装饰函数的上一行添加一行代码 @装饰器名
为了实现有返回值的函数被装饰了之后仍然有返回值,需要内部函数与被装饰函数的返回值保持一致。
多个装饰器装饰一个函数,最外层的装饰器最先执行