| 数字类型 | 函数 | 能否判别 |
|---|---|---|
| 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'
>>> num.isdigit()
True
>>> num.isnumeric()
True
>>> num.isdecimal()
True
半角与全角数字:
0-9对应Unicode编码范围:半角——’\u0030’ 到 ‘\u0039’ 全角——’\uff10’到’\uff19’
全角数字(双字节)
>>> num = '\uff10'
>>> num.isdigit()
True
>>> num.isnumeric()
True
>>> num.isdecimal()
True
bytes数字
>>> num = b'6'
>>> num.isdigit()
True
>>> num.isnumeric()
Traceback (most recent call last):
File "<pyshell#51>", line 1, in <module>
num.isnumeric()
AttributeError: 'bytes' object has no attribute 'isnumeric'
>>> num.isdecimal()
Traceback (most recent call last):
File "<pyshell#53>", line 1, in <module>
num.isdecimal()
AttributeError: 'bytes' object has no attribute 'isdecimal'
阿拉伯数字
>>> num = 'Ⅱ'
>>> num.isdigit()
False
>>> num.isnumeric()
True
>>> num.isdecimal()
False
汉字数字
>>> num = '四'
>>> num.isdigit()
False
>>> num.isnumeric()
True
>>> num.isdecimal()
False
本文详细介绍了Python中用于判断字符是否为数字类型的三种方法:isdigit(), isnumeric(), 和 isdecimal()。通过对比不同数字类型(如半角数字、全角数字、bytes数字、阿拉伯数字和汉字数字)在这三个函数下的表现,揭示了它们之间的区别和适用场景。
888

被折叠的 条评论
为什么被折叠?



