python培训之能判断数字类型吗

发布时间:2022-08-30 09:36:12 人气:47 作者:多测师

  python中有一个自带的函数isdigit,可以返回某字符串是不是数字。如果是数字,返回True;反之,返回False。

  str1 = '1'

  print(str1.isdigit())

  str2 = '1.1'

  print(str2.isdigit())

  str3 = '-1'

  print(str3.isdigit())

  str4 = 'a'

  print(str4.isdigit())

  它的运行结果是:

  True

  False

  False

  False

python培训之能判断数字类型吗

  可以看到,isdigit函数只能辨别正整数,对小数和负数的判断都出现了错误。

  这里介绍一个函数,可以正确分辨小数和负数:

  def is_number(s):

  try: # 如果能运行float(s)语句,返回True(字符串s是浮点数)

  float(s)

  return True

  except ValueError: # ValueError为Python的一种标准异常,表示"传入无效的参数"

  pass # 如果引发了ValueError这种异常,不做任何事情(pass:不做任何事情,一般用做占位语句)

  try:

  import unicodedata # 处理ASCii码的包

  unicodedata.numeric(s) # 把一个表示数字的字符串转换为浮点数返回的函数

  return True

  except (TypeError, ValueError):

  pass

  return False

  很厉害的是,由于is_number里用到了unicodedata.numeric这个函数,我们现在对汉字表示的数字也可以进行分辨了,测试汉字'八':

  str5 = '八'

  print(is_number(str5))

  得到的结果是:

  True

  以上内容为大家介绍了python培训之能判断数字类型吗,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线