Python装饰器练习,判断函数参数类型
2019-01-23 22:17
239 查看
题目要求:
编写装饰器required_types, 条件如下: # 1). 当装饰器为@required_types(int,float)确保函数接收到的 每一个参数都是int或者float类型; # 2). 当装饰器为@required_types(list)确保函数接收到的每一个 参数都是list类型; # 3). 当装饰器为@required_types(str,int)确保函数接收到的每 一个参数都是str或者int类型; # 4). 如果参数不满足条件, 打印 TypeError:参数必须为xxxx类 型
import functools def required_types(*types): def required_int(fun): @functools.wraps(fun) def wrapper(*args,**kwargs): for i in args: if not isinstance(i,types): print('TypeError',types) #break else: inspect_res = fun(*args,**kwargs) return inspect_res return wrapper return required_int @required_types(str,int) def add(*args,**kwargs): print(args) print(add(1,2,3,4,4,4,5,56,66,6,6,66,6,65,5,1))
相关文章推荐
- 关于python函数传参数问题 , 不管什么类型都是传引用
- python基础:函数的参数类型介绍
- Python中函数可变参数类型(*args、**kwargs)
- Python——可变类型与不可变类型(即为什么函数默认参数要用元组而非列表)
- Python函数_参数的多类型传值
- python 函数参数类型和返回值、嵌套、内置函数
- python_装饰器二(对有/不定长参数函数的装饰)
- python 函数的参数的几种类型
- Python序列类型常用函数练习(转自: 随煜而安)
- python 判断参数为Nonetype类型或空的实例
- python-基础笔记3-函数的参数类型
- [python]学习笔记5-函数参数类型
- Python之道(1)---从Python函数参数类型说起
- python-函数中的参数类型和可变参数解析
- python 函数判断输入参数个数 类似 matlab nargin
- Python函数非匹配参数类型传递
- Python之isinstance() 函数判断数据类型
- python isinstance函数判断变量类型
- python基础===isinstance() 函数,判断一个对象是否是一个已知的类型
- python学习笔记12(函数三): 参数类型、递归、lambda函数