Python-如何检查字符串是否为数字(float)?

检查字符串是否可以在Python中表示为数字的最佳方法是什么?

我目前拥有的功能是:

def is_number(s):

try:

float(s)

return True

except ValueError:

return False

它不仅丑陋而且缓慢,看起来笨拙。但是我还没有找到更好的方法,因为调用float main函数甚至更糟。

回答:

不仅丑陋而且缓慢

我都对此表示怀疑。

正则表达式或其他字符串解析方法将更难看,更慢。

我不确定任何事情都可以比上述速度更快。它调用该函数并返回。Try / Catch不会带来太多的开销,因为最常见的异常是在没有大量搜索堆栈帧的情况下捕获的。

问题是任何数值转换函数都有两种结果

  • 一个数字(如果该数字有效)
  • 状态代码(例如,通过errno)或异常,表明无法解析有效数字。

    C(作为示例)以多种方式解决这一问题。Python清楚明确地列出了它。

我认为你执行此操作的代码是完美的。

以上是 Python-如何检查字符串是否为数字(float)? 的全部内容, 来源链接: utcz.com/qa/422841.html

回到顶部