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