python能否判断数字类型?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
python中有一个自带的函数isdigit,可以返回某字符串是不是数字。如果是数字,返回正确;反之,返回错误的。
str1 =, & # 39; 1 & # 39; print (str1.isdigit ()) 时间=str2 & # 39; 1.1 & # 39; print (str2.isdigit ()) 时间=str3 & # 39; 1 & # 39; print (str3.isdigit ()) 时间=str4 & # 39;一个# 39; print (str4.isdigit ())
它的运行结果是:
正确的 假 假 假
可以看的到,isdigit函数只能辨别正整数,对小数和负数的判断都出现了错误。
这里介绍一个函数,可以正确分辨小数和负数:
def is_number (s): ,,,试一试:,,#,如果能运行浮动(s)语句,返回真正的(字符串年代是浮点数) ,,,,,,,浮子(s) ,,,,,,,return 真实的 ,,,except ValueError:,, #, ValueError为Python的一种标准异常,表示“传入无效的参数, ,,,,,,,pass , #,如果引发了ValueError这种异常,不做任何事情(通过:不做任何事情,一般用做占位语句) ,,,试一试: ,,,,,,,import unicodedata , #,处理ASCii码的包 ,,,,,,,unicodedata.numeric (s),, #,把一个表示数字的字符串转换为浮点数返回的函数 ,,,,,,,return 真实的 ,,,except (TypeError, ValueError): ,,,,,,, ,,,return 假
很厉害的是,由于is_number里用到了unicodedata.numeric这个函数,我们现在对汉字表示的数字也可以进行分辨了,测试汉字& # 39;八& # 39;:
str5 =, & # 39;八& # 39; 打印(is_number (str5)
得到的结果是:
真正
看完上述内容,你们掌握python能否判断数字类型的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!