方法一:通过isinstance函数来实现
具体代码
def whether_number(s):
if isinstance(s,float):
return True
elif isinstance(s,int):
return True
else:
return False
print(whether_number('nan'))
print(whether_number('1'))
print(whether_number('一'))
print(whether_number(-9.9))
print(whether_number(1))
print(whether_number(1.1))
print(whether_number(1e2))
运行结果
方法二:通过unicodedata模块来实现
unicodedata模块是可以通过抛出的异常来检测它是否为数字,这种方法如果字符串里面有数字依然能够通过。
具体代码
def whether_number(s):
try:
float(s)
return True
except ValueError:
pass
try:
import unicodedata
unicodedata.numeric(s)
return True
except (TypeError, ValueError):
pass
return False
print(whether_number('nan'))
print(whether_number('1'))
print(whether_number('一'))
print(whether_number(-9.9))
print(whether_number(1))
print(whether_number(1.1))
print(whether_number(1e9))
运行结果
觉得有用点赞支持一下❤