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

来源:互联网 发布:阿里云服务器欠费 编辑:程序博客网 时间:2024/04/29 16:19

num = "1"  #unicodenum.isdigit()   # Truenum.isdecimal() # Truenum.isnumeric() # Truenum = "1" # 全角num.isdigit()   # Truenum.isdecimal() # Truenum.isnumeric() # Truenum = b"1" # bytenum.isdigit()   # Truenum.isdecimal() # AttributeError 'bytes' object has no attribute 'isdecimal'num.isnumeric() # AttributeError 'bytes' object has no attribute 'isnumeric'num = "IV" # 罗马数字num.isdigit()   # Truenum.isdecimal() # Falsenum.isnumeric() # Truenum = "四" # 汉字num.isdigit()   # Falsenum.isdecimal() # Falsenum.isnumeric() # True===================isdigit()True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字False: 汉字数字Error: 无isdecimal()True: Unicode数字,,全角数字(双字节)False: 罗马数字,汉字数字Error: byte数字(单字节)isnumeric()True: Unicode数字,全角数字(双字节),罗马数字,汉字数字False: 无Error: byte数字(单字节)================import unicodedataunicodedata.digit("2")   # 2unicodedata.decimal("2") # 2unicodedata.numeric("2") # 2.0unicodedata.digit("2")   # 2unicodedata.decimal("2") # 2unicodedata.numeric("2") # 2.0unicodedata.digit(b"3")   # TypeError: must be str, not bytesunicodedata.decimal(b"3") # TypeError: must be str, not bytesunicodedata.numeric(b"3") # TypeError: must be str, not bytesunicodedata.digit("Ⅷ")   # ValueError: not a digitunicodedata.decimal("Ⅷ") # ValueError: not a decimalunicodedata.numeric("Ⅷ") # 8.0unicodedata.digit("四")   # ValueError: not a digitunicodedata.decimal("四") # ValueError: not a decimalunicodedata.numeric("四") # 4.0#"〇","零","一","壱","二","弐","三","参","四","五","六","七","八","九","十","廿","卅","卌","百","千","万","万","亿"
原创粉丝点击