Python 如何优雅地判断函数参数是否都是数字类型?
如何判断函数参数是否都是数字类型
python 中有一个优雅的方法可以判断函数入参是否全部是数字类型,包括整数、浮点数和 numpy 数组。
使用 all() 函数,我们可以遍历每个入参并检查它们是否为以下数据类型:
- 整数类型:int
- 浮点类型:float
- numpy 整数类型:np.int64、np.int32
- numpy 浮点类型:np.float
- 字符串型数字:使用 isdigit() 方法检查
以下是如何实现此判断逻辑的代码:
def is_all_numeric(*args): return all(isinstance(i, (int, float, np.int64, np.int32, np.float)) or (isinstance(i, str) and i.isdigit()) for i in args)
示例:
print(is_all_numeric(1, 2.5, 3)) # True print(is_all_numeric('1', '2.5', '3')) # True print(is_all_numeric(1, '2.5', 3)) # True print(is_all_numeric('1', 2.5, 3)) # True print(is_all_numeric('a', '2.5', 3)) # False
以上就是Python 如何优雅地判断函数参数是否都是数字类型?的详细内容,更多请关注其它相关文章!