1. 程式人生 > >isdigit,isnumeric,isdecimal的差別

isdigit,isnumeric,isdecimal的差別

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數字(單位元組)