Python 如何优雅地判断函数参数是否都是数字类型?

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 如何优雅地判断函数参数是否都是数字类型?的详细内容,更多请关注其它相关文章!