如何优雅地判断函数参数是否均为数字?

如何优雅地判断函数参数是否均为数字?

如何精妙判断函数参数悉数为数字?

设有函数 foo(a, b, c),若 a、b、c 均为数字,如整数、浮点数、numpy 整数或浮点数,或纯数字字符串,则执行操作 a;否则返回 error

如何优雅地编写此判断语句?

解法:

原先的写法并不优雅,不妨尝试:

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)):

该语句采用 all 函数,检查元组 (a, b, c) 中的每个元素是否满足以下任一条件:

  • int、float、numpy 整数或浮点数的对象。
  • 是字符串,且仅包含数字。

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