python能否判断数字类型

  

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能否判断数字类型的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

python能否判断数字类型