def is_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(is_number('foo'))
print(is_number('1'))
print(is_number('1.3'))
print(is_number('-1.37'))
print(is_number('1e3'))
print(is_number('٥'))
print(is_number('๒'))
print(is_number('四'))
print(is_number('©'))
我们也可以使用内嵌 if 语句来实现:
执行以上代码输出结果为:
False
True
True
True
True
True
True
True
False