要求
编写装饰器required_ints, 条件如下:
1). 确保函数接收到的每一个参数都是整数;
2). 如果参数不是整形数, 打印 TypeError:参数必须为整形
编程
import functools
def required_ints(func):
@functools.wraps(func)
def wrapper(*args,**kwargs): # (1,2,....)
for i in args:
# if isinstance(i,int):
# pass
# else:
# print('函数所有的参数并非全是int型')
if not isinstance(i,int):
print('函数所有的参数并非都是int型')
break
else:
res = func(*args,**kwargs)
return res
return wrapper
@required_ints
def add(a,b):
return a+b
@required_ints
def mymax(a,b,c,d):
return max(a,b,c,d)
print(add(1,2.0))
结果
来源:CSDN
作者:一坨小红花
链接:https://blog.csdn.net/qq_45652989/article/details/103951618