zoukankan      html  css  js  c++  java
  • python基本数据类型之字符串(四)

    python基本数据类型之字符串(四)

    判断方法

    python中有一类用来判断字符串形式的方法,该类方法有两个特点:(1)方法名都是is开头(除了startswith和endswith);(2)返回值都是bool类型(TrueFalse)。
    方法包括:startswithendswith、isalnumisalpha、isdecimalisdigitisnumeric、isidentifier、isprintable、isspace
    1、startswith、endswith
    这两个方法是用来判断字符串是否是以某个子串开头或结尾。这两个方法都有3个参数(prefix, start=None, end=None),prefix是要查找的子串,start和end参数用来指定查找的起始和结束位置。prefix还可以是一个有子串组成的tuple。

    s = 'appGojoendkfengap'
    v = s.startswith('joe', 5, 8)
    print(v)
    

    打印结果:True
    当传入元组作为参数时,只要其中包含开头的子串,就会返回True。

    s = 'appGojoendkfengap'
    v = s.endswith(('joe', 'ap', 'ha'))
    print(v)
    

    打印结果:True

    2、isalnum、isalpha
    isalnum方法是判断字符串中是否仅包含语言字符(无论是英文还是其他语言)和数字;isalpha用来判断字符串中是否仅包含语言字符。

    s = 'ni哈喽123'
    v = s.isalnum()
    v1 = s.isalpha()
    print(v)
    print(v1)
    

    打印结果:

    True
    True
    

    当字符串中包含除了语言字符和数字之外的字符时,isalpha和isalnum都会返回False。

    s1 = '*haoe$$'
    v2 = s1.isalpha()
    print(v2)
    

    打印结果: False

    3、isdecimal、isdigit、isnumeric
    这三个方法用来判断字符串是否仅包含数字,但三个方法所能判断的范围不同。在python中可能被识别为数字的字符包括3种:纯阿拉伯数字(如'2');语言中的数字(如'二');特殊的数字符号(如'②'),对于这三种数字字符的判断结果如下所示:

    s1 = '2'
    s2 = '二'
    s3 = '②'
    
    v1_1 = str(s1.isdecimal())
    v1_2 = str(s2.isdecimal())
    v1_3 = str(s3.isdecimal())
    
    print('isdecimal的判断结果为:', '2:' + v1_1, '二:' + v1_2, '②:' + v1_3)
    
    v1_1 = str(s1.isdigit())
    v1_2 = str(s2.isdigit())
    v1_3 = str(s3.isdigit())
    
    print('isdigit的判断结果为:', '2:' + v1_1, '二:' + v1_2, '②:' + v1_3)
    
    v1_1 = str(s1.isnumeric())
    v1_2 = str(s2.isnumeric())
    v1_3 = str(s3.isnumeric())
    
    print('isnumeric的判断结果为:', '2:' + v1_1, '二:' + v1_2, '②:' + v1_3)
    

    输出结果为:

    isdecimal的判断结果为: 2:True 二:False ②:False
    isdigit的判断结果为: 2:True 二:False ②:True
    isnumeric的判断结果为: 2:True 二:True ②:True
    

    isnumeric可以将3种数字字符都识别出来;isdigit可以识别出阿拉伯数字和特殊字符,但是识别不出语言中表示数字的字符;isdecimal仅能识别出阿拉伯数字。因此三个方法的判断范围:isnumeric>isdigit>isdecimal。
    在实际的编程应用中,最常用的是isdigit,如果要对文本进行章节划分,则要使用isnumeric来识别其他语言的字符。
    对于英文语言中代表数字的单词,3种方法都会返回False。

    s4 = 'two'
    v1_1 = str(s4.isdecimal())
    v1_2 = str(s4.isdigit())
    v1_3 = str(s4.isnumeric())
    print('对于英文单词,三种方法的识别结果为:','isdecimal:' + v1_1, 'isdigit:' + v1_2, 'isnumeric:' + v1_3)
    

    打印结果:

    对于英文单词,三种方法的识别结果为: isdecimal:False isdigit:False isnumeric:False
    

    4、isidentifier
    该方法用来判断某个字符串是否是合法的标识符。

    s  = '123hallo'
    v = s.isidentifier()
    print(v)
    
    s1 = 'fhe_fj'
    v1 = s1.isidentifier()
    print(v1)
    

    打印结果:

    False
    True
    

    5、isprintable
    该方法用来判断所输入的字符串是否能够全部被打印出来。如果字符串中包含不能被打印的字符(如' '、' '等转义字符),该方法会返回False。

    s = 'ahou'
    v = s.isprintable()
    print(v)
    
    s1 = 'haloua
    '
    v1 = s1.isprintable()
    print(v1)
    

    打印结果:

    True
    False
    

    6、isspace
    该方法是来判断该字符串是否仅含有空格。如果字符串中仅包含空格,那么该方法就会返回True。

    s = ' hah ooo '
    v = s.isspace()
    print(v)
    
    s1 = '    '
    v1 = s1.isspace()
    print(v1)
    

    打印结果:

    False
    True
    

    需要注意的是,该方法也会对空字符串返回False。因此该方法只能判断字符串中是否仅包含空格。

    s2 = ''
    v2 = s2.isspace()
    print(v2)
    

    打印结果:True

  • 相关阅读:
    【作业4】测试作业-兴趣问题清单
    【读后感3】高效程序员的45个习惯
    【作业3】关于C语言的问卷调查
    【作业2】价值观作业
    Spring的零配置
    Spring容器中bean的作用域
    Spring注入方式
    Spring整合Struts2
    my first go
    Struts2对ajax的支持
  • 原文地址:https://www.cnblogs.com/guyexiangyun/p/10200586.html
Copyright © 2011-2022 走看看