zoukankan      html  css  js  c++  java
  • String bulit-in function

    tip:

    和tuple一样,字符串也是不可变的类型,字符串的内建函数有非常多,我们一一举例来看看他们的作用

    下面是用dir(str) 输出的内容:

    ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

      

    1.capitalize  把字符串的第一个字符大写

    2.casefold python3中新添加的,具体作用是给其它除英语以外的语言改成小写。(跳过

    3.center 居中

    s = "this is string example....wow!!!"
    print ("str.center(40, 'a') : ", str.center(40, 'a'))   # 此处40代表的是输出结果的字符串长度,‘a’指的是填充物,若没有这个参数,默认填充空格
    
    >>>str.center(40, 'a') :  aaaathis is string example....wow!!!aaaa
    

    4.count 不解释

    5.encode 以encode指定的编码格式编码string

    s = u'djc'      # s 是unicode
    s.encode(encoding='UTF-8',errors='ignore')   # 此处把s转变成了UTF-8的形式,后面的errors 可以是ignore 或者 replace,也可以不填,那样的话如果出错会报ValueError
    print(s)
    

    6.endswith 检查字符串尾部  对应的有一个startswith 检查字符串是否以xxx开头,和endswith类似

    s = 'djc is a asshole'
    v = s.endswith('e',3,9)    # 检测字符串在3到9的范围内是否是以e结尾,很显然是False
    print(v)
    
    >>>False
    

    7.expandtabs 把字符串中的tab符号转换成空格,默认空格数tabsize = 8

    8.find

    s = 'djc is a asshole'
    v = s.find('m')      # 检测 m 是否包含在 s 中,若不在返回-1,若在返回该字符所在位置位置,如果是一串字符,则返回第一个字符所在位置
    print(v)
    
    >>>-1
    

    9.format 

    name = 'deng {0} is {1}'
    print(name.format('asshole','sad'))     # 字符串的拼接,这个函数的语法是把asshole和sad赋值给{0}和{1},这也是字符串格式化的一种
    name = 'deng {name} is {id}'
    print(name.format(name = 'asshole',id = 'sad'))
    

    10.format_map 现在我也不知道,日后再来补充

    11.index 和find功能一样,区别在于find找不到会返回-1,而index会报错

    12.isalnum 

    s = 'djc.1'
    v = s.isalnum()      # 如果字符串中至少有一个字符并且所有字符都是数字或字母则返回Ture,否则返回False
    print(v)
    
    >>>False
    

    13.isalpha 和上面的类似,只不过是只有当全部是字符是就会返回Ture

    14.isdecimal string中只包含10进制数则返回Ture,否则返回False

    15.isdigit string中只包含数字则返回Ture,否则返回False

    16.isidentifier  string中是否是关键字是则返回Ture,否则返回False

    17.islower 

    s = 'sdasd123'
    v = s.islower()      # string中包含一种区分大小写的字符,并且这些字符都是小写,则返回Ture,否则返回False,因为数字不区分大小写,所以不影响结果

    print(v)
    >>> Ture

    18.isnumeric 和isdight功能,全是数字则返回Ture,否则返回Flse

    19.isprintable 跳过

    20.isspace string中如果只包含空格,则返回Ture,否则返回False

    21.istitle string中如果是标题化的则返回Ture,否则是False。标题化见title()

    22.isupper 和islower相反,全是大写则返回Ture,否则是False

    23.join 

    #对序列进行操作(分别使用' '与':'作为分隔符)
     
    >>> seq1 = ['hello','good','boy','doiido']
    >>> print ' '.join(seq1)
    hello good boy doiido
    >>> print ':'.join(seq1)
    hello:good:boy:doiido

    s = 'hello good boy doiido'
    >>> print ':'.join(seq1.split(sep = ' ')      # split() 参数sep = ‘ ’,以空格分割字符串s
    hello:good:boy:doiido #对字符串进行操作 >>> seq2 = "hello good boy doiido" >>> print (':'.join(seq2)) h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o >>> print #对元组进行操作 >>> seq3 = ('hello','good','boy','doiido') >>> print (':'.join(seq3)) hello:good:boy:doiido #对字典进行操作 >>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4} >>> print (':'.join(seq4) boy:good:doiido:hello #合并目录 >>> import os >>> os.path.join('/hello/','good/boy/','doiido') '/hello/good/boy/doiido'

    24.ljust 

    str = "djc is a asshole"
    print (str.ljust(50, '0'))      # 返回一个原字符串左对齐,默认用空格填充
    >>>djc is a asshole0000000000000000000000000000000000

    25.rjust 跟上面一样,只不过是右对齐

    26.lower 将string中的大写字符全部转换成小写

    27.upper 和lower相反

    28.swapcase 翻转string中的大小写

    29.lstrip 截掉string左边的空格

    s = "             djc is a asshole"
    v = s.lstrip()
    print(v)

    >>>djc is a asshole

    30.maketrans 

    语法: str.maketrans(intab, outtab]);         # 详细见http://blog.csdn.net/u014351782/article/details/46740297
     
    Python maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式, 
    第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。 
    注:两个字符串的长度必须相同,为一一对应的关系。 
     
    Python3.4已经没有string.maketrans()了,取而代之的是内建函数: 
    bytearray.maketrans()、bytes.maketrans()、str.maketrans() 
    """  
      
    intab = "abcd"  
    outtab = "1234"  
    str_trantab = str.maketrans(intab,outtab)  
      
    test_str = "csdn blog: http://blog.csdn.net/wirelessqa"  
      
    print (test_str.translate(str_trantab))

    >>>3s4n 2log: http://2log.3s4n.net/wirelessq1

    31.partition 返回一个三元tuple  rpartition 从右边开始查找,和partition类似

    s = 'djc is a asshole'
    v = s.partition('ass')      # 返回一个参数左边,参数,参数右边组成的三元元祖
    print(v)

    >>>('djc is a ', 'ass', 'hole')

    32.replace 替代

    s = 'djc is a asshole'
    v = s.replace('s','d',1) # 把s字符串中的s替换成d,最后那个参数表示最多替换多少次,此处为一次因此只换了一次
    print(v)

    >>>djc id a asshole

    33.rfind 和find类似,不过是从右边开始查找

    34.rindex 和index类似,不过是从右边开始索引

    35.split

    s = 'djc is a asshole'
    v = s.split(' ',2)      # 以空格为分隔符,分割两次,默认为有多少分多少
    print(v)

    >>>['djc', 'is', 'a asshole']

    36.splitlines 分割行,字符串中有 就 这分割,相当于split(' ')

    37.strip 删除字符串左右两边的空格

    38.title 返回标题化的string,就是说所有的单词都是以大写开始,其余字母都是小写

    39.translate 与maketrans一起使用,详情见30

    40.zfill 返回长度为width的字符串,原字符串string右对齐,前面填充0

    a = 'djc is a asshole'
    v = a.zfill(40)
    print(v)

    >>>000000000000000000000000djc is a asshole

    好多QAQ

  • 相关阅读:
    不得不说微信之怪现状
    新手运营如何做广告位投放
    网络营销人员如何培养创新技能
    GoDaddy开通中文客服电话,沟通不再是问题
    为zblog FCKeditor编辑器添加设置字体格式h1 h2功能
    真实手机访问本地电脑网站失败的原因
    数据库简总
    简单总结
    GUI图形用户界面学习
    集合框架
  • 原文地址:https://www.cnblogs.com/learnC/p/5947395.html
Copyright © 2011-2022 走看看