添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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())

它的运行结果是:

False False False

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

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

def is_number(s):
    try:  # 如果能运行float(s)语句,返回True(字符串s是浮点数)
        float(s)
        return True
    except ValueError:  # ValueError为Python的一种标准异常,表示"传入无效的参数"
        pass  # 如果引发了ValueError这种异常,不做任何事情(pass:不做任何事情,一般用做占位语句)
        import unicodedata  # 处理ASCii码的包
        unicodedata.numeric(s)  # 把一个表示数字的字符串转换为浮点数返回的函数
        return True
    except (TypeError, ValueError):
    return False

再做一次判断:

str1 = '1'
print(is_number(str1))
str2 = '1.1'
print(is_number(str2))
str3 = '-1'
print(is_number(str3))
str4 = 'a'
print(is_number(str4))

结果正确:

False

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

str5 = '八'
print(is_number(str5))

得到的结果是:

参考文章: http://www.runoob.com/python3/python3-check-is-number.html

s.isalnum()  所有 字符 都是 数字 或者字母, 真返回 Ture,否则返回 False。(重点,这是字母 数字 一起 判断 的!!) s.isalpha()   所有 字符 都是字母, 真返回 Ture,否则返回 False。(只 判断 字母) s.isdigit()     所有 字符 都是 数字 真返回 Ture,否则返回 False。(只 判断 数字 ) s.islower()    所有字...
了成功上岸之 字符串 代码总结整数转 字符串 (不用itoa) 整数转 字符串 (不用itoa) char* itoa(int value,char*string,int radix); value: 要转换的整数,string: 转换后的 字符串 ,radix: 转换进制数,如2,8,10,16 0( 数字 零)的ASCII码是48;A的ASCII码是65;a的ASCII码是97; 负号要考虑 在这里插入代码片
#######################1.非 数字 型数据分类######################### 数据类型可以分 为数 字型和非 数字 型, 数字 型可以分 整型,实型等等,而非 数字 型分 : (1)列表 (2)元组 (3)字典 (4) 字符串 注意:我们在之前的循环里只讲了while,而for循环一般是对非 数字 型数据处理,这节也会渗入for循环的知识。 ############...
str = raw_input("please input the number:") if str.isdigit(): True表示输入的所有 字符 都是 数字 ,否则, 不是 全部 为数 字 str 字符串 str.isalnum()所有 字符 都是 数字 或者字母str.isalpha()所有 字符 都是字母str.isdigit()...