Python 判断字符串是否为数字
下面的代码通过创建自定义函数 is_number() 方法来判断字符串是否为数字:
实例(Python 3.0+)
# Filename : main.py # author by : www.twle.cn 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')) # False print(is_number('1')) # True print(is_number('1.3')) # True print(is_number('-1.37')) # True print(is_number('1e3')) # True # 测试 Unicode # 阿拉伯语 5 print(is_number('٥')) # True # 泰语 2 print(is_number('๒')) # True # 中文数字 print(is_number('四')) # True # 版权号 print(is_number('©')) # False
我们也可以使用内嵌 if 语句来实现:
运行这段代码,输出结果如下:
False True True True True True True True False
更多方法
方法 | 说明 |
---|---|
isdigit() | 检测字符串是否只由数字组成 |
isnumeric() | 检测字符串是否只由数字组成。这种方法是只针对 unicode 对象 |