1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| #!/usr/bin/env python # -*- coding:utf-8 -*- # Author: wxnacy([email protected])
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
|