如何优雅地检查函数参数是否都是数字型?

如何优雅地检查函数参数是否都是数字型?

如何检查函数参数是否都是数字型?

在定义函数时,我们经常需要检查参数是否都是数字型,以便进行相应的处理。以下是一个优雅的方法来解决这个问题:

if all(isinstance(i, (int, float, np.int64, np.int32, np.float)) or (isinstance(i, str) and i.isdigit()) for i in (a, b, c)):
    # 进行相应的处理
else:
    return "ERROR"

这个判断语句使用 all 函数,它检查一个可迭代对象中所有元素是否都满足给定的条件。在此情况下,判断语句中的条件是:

  • 元素 i 必须是 int、float、numpy.int64、numpy.int32、numpy.float 类型中的一个
  • 或者元素 i 是一个字符串并且是数字(使用 i.isdigit() 检查)

满足以上条件的三个参数都被认为是数字型。

以上就是如何优雅地检查函数参数是否都是数字型?的详细内容,更多请关注其它相关文章!