Python 如何优雅地判断函数参数是否都是数字类型?
如何判断函数参数是否都是数字类型
python 中有一个优雅的方法可以判断函数入参是否全部是数字类型,包括整数、浮点数和 numpy 数组。
使用 all() 函数,我们可以遍历每个入参并检查它们是否为以下数据类型:
以下是如何实现此判断逻辑的代码:
立即学习“Python免费学习笔记(深入)”;
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)) # Trueprint(is_all_numeric('1', '2.5', '3')) # Trueprint(is_all_numeric(1, '2.5', 3)) # Trueprint(is_all_numeric('1', 2.5, 3)) # Trueprint(is_all_numeric('a', '2.5', 3)) # False