| 数字类型 | 函数 | 能否判别 | 
|---|---|---|
| unicode(半角) | isdigit() isnumeric() isdecimal() | True True True | 
| 全角数字 | isdigit() isnumeric() isdecimal() | True True True | 
| bytes数字 | isdigit() isnumeric() isdecimal() | True False False | 
| 阿拉伯数字 | isdigit() isnumeric() isdecimal() | False True False | 
| 汉字数字 | isdigit() isnumeric() isdecimal() | False True False | 
unicode(=半角数字)
num = '123'
print(num.isdigit()) # True
print(num.isnumeric()) # True
print(num.isdecimal()) # True
半角与全角数字:
0-9对应Unicode编码范围:半角——’\u0030’ 到 ‘\u0039’ 全角——’\uff10’到’\uff19’
全角数字(双字节)
num = '\uff10'
print(num.isdigit()) # True
print(num.isnumeric()) # True
print(num.isdecimal()) # True
bytes数字
num = b'6'
print(num.isdigit()) # True
# print(num.isnumeric()) # 取消注释可查看错误
# AttributeError: 'bytes' object has no attribute 'isnumeric'
# print(num.isdecimal()) # 取消注释可查看错误
# AttributeError: 'bytes' object has no attribute 'isdecimal'
阿拉伯数字
num = 'Ⅱ'
print(num.isdigit()) # False
print(num.isnumeric()) # True
print(num.isdecimal()) # False
汉字数字
num = '四'
print(num.isdigit()) # False
print(num.isnumeric()) # True
print(num.isdecimal()) # False
 
                         
                                

