python中str函数isdigit、isdecimal、isnumeric的区别

780 阅读1分钟
num = "1" #unicode


num.isdigit() # True
num.isdecimal() # True
num.isnumeric() # True

num = "1" # 全角


num.isdigit() # True
num.isdecimal() # True
num.isnumeric() # True

num = b"1" # byte


num.isdigit() # True
num.isdecimal() # AttributeError 'bytes' object has no attribute 'isdecimal'
num.isnumeric() # AttributeError 'bytes' object has no attribute 'isnumeric'

num = "IV" # 罗马数字


num.isdigit() # True
num.isdecimal() # False
num.isnumeric() # True

num = "四" # 汉字


num.isdigit() # False
num.isdecimal() # False
num.isnumeric() # True

===================

isdigit()


True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字


False: 汉字数字


Error: 无



isdecimal()


True: Unicode数字,,全角数字(双字节)


False: 罗马数字,汉字数字


Error: byte数字(单字节)



isnumeric()


True: Unicode数字,全角数字(双字节),罗马数字,汉字数字


False: 无


Error: byte数字(单字节)

更多免费技术资料可关注:annalin1203