一、装饰器嵌套
有多个装饰器时,装饰器从下到上调用
实际内部的装饰函数是从上到下执行的(起作用)
当多个装饰器条件成立时,才执行原函数
练习:装饰器1:
在实际的应用场景中,会采用多个装饰器先验证是否登陆成功,再验证权限是否足够
二、装饰器加参数
练习一:
编写装饰器required_ints, 条件如下:
1). 确保函数接收到的每一个参数都是整数;
2). 如果参数不是整形数, 打印 TypeError:参数必须为整形
练习二:
编写装饰器required_types, 条件如下:
1). 当装饰器为@required_types(int,float)确保函数接收到的每一个参数都是int或者float类型;
2). 当装饰器为@required_types(list)确保函数接收到的每一个参数都是list类型;
3). 当装饰器为@required_types(str,int)确保函数接收到的每一个参数都是str或者int类型;
4). 如果参数不满足条件, 打印 TypeError:参数必须为xxxx类型