python

来源:互联网 发布:网易房产数据 北京 编辑:程序博客网 时间:2024/06/07 06:55

python判断字符串,str函数isdigit、isdecimal、isnumeric的区别

s为字符串
s.isalnum() 所有字符都是数字或者字母
s.isalpha() 所有字符都是字母
s.isdigit() 所有字符都是数字
s.islower() 所有字符都是小写
s.isupper() 所有字符都是大写
s.istitle() 所有单词都是首字母大写,像标题
s.isspace() 所有字符都是空白字符、\t、\n、\r

判断是整数还是浮点数
a=123
b=123.123

>>>isinstance(a,int)
True
>>>isinstance(b,float)
True
>>>isinstance(b,int)
False

python中str函数isdigit、isdecimal、isnumeric的区别
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#"〇","零","一","壱","二","弐","三","参","四","五","六","七","八","九","十","廿","卅","卌","百","千","万","万","亿"
不要让懒惰占据你的大脑,不让要妥协拖跨你的人生。青春就是一张票,能不能赶上时代的快车,你的步伐掌握在你的脚下,good luck
原创粉丝点击