阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

python中isdigit() isalpha()用于判断字符串的类型问题详解

35次阅读
没有评论

共计 1865 个字符,预计需要花费 5 分钟才能阅读完成。

导读 这篇文章主要介绍了 python 中 isdigit() isalpha() 用于判断字符串的类型问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
isdigit() isalpha() 用于判断字符串的类型
要求 1

统计某个字符串中的数字数量并输出,例如字符串为“adsfsd1adf23sdfa12”

思路:遍历字符串,用 isdigit() 方法判断是否为数字,如果为数字,统计 +1

代码如下:

str=input("请输入任意字符串")
num=0   #统计基数
for i in str:  #遍历字符串
    if i.isdigit():     #判断是否为数字
        num+=1
print(num)
要求 2

在要求 1 的基础中统计出现数字的次数,比如 12dsd23dsddf1, 其中出现数字 12,23,1 共 3 次。

思路:此时如果利用上述思路,无法实现要求,故转换思路。

  • 1. 遍历字符串,用 isalpha() 判断字符串类型是否 Wie 字符串
  • 2. 将字符串中的字符都换成空格,此时字符串中只有数字和空格
  • 3. 将原有字符串用 split() 转换为列表
  • 4. 统计列表元素长度
  • 代码如下:

    s=input("")
    num=0   #统计基数
    for i in s: #遍历字符串
        if i.isalpha(): #判断是否为字符串
            s=s.replace(i," ")  #如果是字符串,替换为空格
    b=s.split()     #拆分字符串
    print(len(b))   #统计字符串长度 
    isdigit()、isalpha()、isalnum() 三个函数的区别和注意点
    一、isdigit()

    python 关于 isdigit() 内置函数的官方定义:

    S.isdigit() -> bool        
            Return True if all characters in S are digits
            and there is at least one character in S, False otherwise.

    翻译:

    S.isdigit() 返回的是布尔值:True False

    S 中至少有一个字符且如果 S 中的所有字符都是数字,那么返回结果就是 True;否则,就返回 False

    S1 = '12345'       #纯数字
    S2 = '①②'        #带圈的数字
    S3 = '汉字'        #汉字
    S4 = '%#¥'        #特殊符号
     
    print(S1.isdigit())
    print(S2.isdigit())
    print(S3.isdigit())
    print(S4.isdigit())
     
    # 执行结果:True     
    True
    False
    False
    二、isalpha()

    python 关于 isalpha() 内置函数的官方定义:

    S.isalpha() -> bool        
            Return True if all characters in S are alphabetic
            and there is at least one character in S, False otherwise.

    翻译:

    S.isalpha() 返回的是布尔值:True False

    S 中至少有一个字符且如果 S 中的所有字符都是字母,那么返回结果就是 True;否则,就返回 False

    S1 = 'abc 汉字'     #汉字 + 字母
    S2 = 'ab 字 134'     #包含数字
    S3 = '*&&'         #特殊符号
     
    print(S1.isalpha())
    print(S2.isalpha())
    print(S3.isalpha())
     
    #执行结果
    True
    False
    False
    三、isalnum()

    python 关于 isalnum() 内置函数的官方定义:

    S.isalnum() -> bool 
            Return True if all characters in S are alphanumeric
            and there is at least one character in S, False otherwise.

    翻译:

    S.isalnum() 返回的是布尔值:True False

    S 中至少有一个字符且如果 S 中的所有字符都是字母数字,那么返回结果就是 True;否则,就返回 False

    S1 = 'abc 汉字 1'    #字母 + 汉字 + 数字
    S2 = '①②③'      #带圈的数字
    S3 = '%……&'       #特殊符号
     
    print(S1.isalnum())
    print(S2.isalnum())
    print(S3.isalnum())
     
    #执行结果
    True
    True
    False

    注意点:

    1.python 官方定义中的字母:大家默认为英文字母 + 汉字即可

    2.python 官方定义中的数字:大家默认为阿拉伯数字 + 带圈的数字即可

    相信只要理解到这两点,这三个函数的在使用时的具体返回值,大家就很明确了~~

    阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

    腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

    代金券:在阿里云专用满减优惠券

    正文完
    星哥说事-微信公众号
    post-qrcode
     0
    星锅
    版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计1865字。
    转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
    【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
    阿里云-最新活动爆款每日限量供应
    评论(没有评论)
    验证码
    【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中