Python装饰器的相关知识点有哪些( 二 )


为了防止错误 , 在定义装饰器的时候要将其设置为万能装饰器
3、多层装饰器多层的执行循序执行顺序是从里到外 , 最先调用最里层的装饰器 , 最后调用最外层的装饰器 , 
示例代码如下所示:
def maths(func): # 定义第一个装饰器 def wrapper(*args, **kwargs): func(*args, **kwargs) print( 该学生已经学习了数学 ) return wrapperdef Chinese(func): # 定义第而个装饰器 def wrapper(*args, **kwargs): func(*args, **kwargs) print( 该学生已经学习了语文 ) return wrapperdef English(func): # 定义第三个装饰器 def wrapper(*args, **kwargs): func(*args, **kwargs) print( 该学生已经学习了英语 ) return wrapper@maths@Englishdef student1(name): print(f 学生{name}已经完成了 )@English@Chinese@mathsdef student2(name): print(f 学生{name}已经完成了 )# 调用函数student1( 小明 )学生小明已经完成了该学生已经学习了英语该学生已经学习了数学student2( 小花 )学生小花已经完成了该学生已经学习了数学该学生已经学习了语文该学生已经学习了英语
4、带参数的装饰器带参数的装饰器一共分为三层 , 分别如下:

推荐阅读