如何优雅地判断函数参数是否均为数字?
如何精妙判断函数参数悉数为数字?
设有函数 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 整数或浮点数的对象。
- 是字符串,且仅包含数字。
以上就是如何优雅地判断函数参数是否均为数字?的详细内容,更多请关注其它相关文章!