我在python 性能中有一个双变量,我想检查是否为空。以下代码是否可以完成这项工作?
if re.match("^\d?\.\d+?$", performance) is None:
该代码是否检查变量是否为空?
答案 0 :(得分:1)
检查值是否为数字而不是空或字符串
正确的正则表达式模式如下所示:
performance = '.03'
if re.search(r'^(\d*\.)?\d+$', performance):
print(performance, 'is a digit')
答案 1 :(得分:1)
如果变量为空(NoneType),则它不是浮点数。所以要检查它是否是一个有效的浮点数,你真的不需要检查你刚刚做的数字:
try:
float(performance)
except (ValueError, TypeError) as e:
print 'Not a float', str(e)
或者如果性能是要检查的字符串,如果它是有效的双倍:
{{1}}
答案 2 :(得分:1)
您也可以尝试这个来检查性能是否为float(和int):
if performance != None and performance.lstrip("-+").replace(".","",1).isdigit():