Python——装饰器嵌套及装饰器参数

一、装饰器嵌套

有多个装饰器时,装饰器从下到上调用
实际内部的装饰函数是从上到下执行的(起作用)

当多个装饰器条件成立时,才执行原函数

练习:装饰器1:

在实际的应用场景中,会采用多个装饰器先验证是否登陆成功,再验证权限是否足够

Python——装饰器嵌套及装饰器参数_第1张图片

Python——装饰器嵌套及装饰器参数_第2张图片

Python——装饰器嵌套及装饰器参数_第3张图片

二、装饰器加参数

Python——装饰器嵌套及装饰器参数_第4张图片

Python——装饰器嵌套及装饰器参数_第5张图片

练习一:

编写装饰器required_ints, 条件如下: 

1). 确保函数接收到的每一个参数都是整数; 

2). 如果参数不是整形数, 打印 TypeError:参数必须为整形

Python——装饰器嵌套及装饰器参数_第6张图片

Python——装饰器嵌套及装饰器参数_第7张图片

练习二:
编写装饰器required_types, 条件如下:
1). 当装饰器为@required_types(int,float)确保函数接收到的每一个参数都是int或者float类型;
2). 当装饰器为@required_types(list)确保函数接收到的每一个参数都是list类型;
3). 当装饰器为@required_types(str,int)确保函数接收到的每一个参数都是str或者int类型;
4). 如果参数不满足条件, 打印 TypeError:参数必须为xxxx类型

Python——装饰器嵌套及装饰器参数_第8张图片

Python——装饰器嵌套及装饰器参数_第9张图片

 

你可能感兴趣的:(Python——装饰器嵌套及装饰器参数)