美文网首页
python字符串

python字符串

作者: Xyxtank | 来源:发表于2019-06-28 13:56 被阅读0次

    特点:

    • 字符串(string)是由数字、字母、下划线组成的一串字符。
    • 在python中表示文本的数据类型,几乎可以包含任何字符,英文字符、中文字符、其他语言也行,是一种不可变的序列。
    • 字符串通常包含在单引号('')双引号("")或者三引号之中(''' '''或或""" """,两者一样)。
    name = 'tank'
    city = 'beijing'
    infos = "welcome to beijing"
    

    字符串格式化:

    字符串格式化,是将一个字符串中某些经常可能会改变的地方,提取出来,用一些占位符占位,后面再通过格式化的方式填充进去。格式化字符串有三种方式,第一种方式是使用%s的形式,第二种是使用format方法,第三种是使用f方法。下面依次来讲解一下:

    1. 使用%s的形式
    name = 'tank'
    des = 'beijing'
    print('welcome to %s %s'%(des,name))#%的数量和后面()元组中的变量要相互对应
    
    welcome to beijing tank
    

    以上是使用%s的形式进行补充,%的数量要后面%()括号里面的变量要相同。对于不同类型的数据,需要使用不同的格式:

    • 字符串:使用%s
    • 整形:使用%d
    • 浮点类型:使用%f。如果想要指定小数点后的位数。可以使用%.nf来表示,n为1表示一位小数,n为2表示2为小数,依次类推。
    1. 使用format方法:需要填充的地方用{}进行占位,然后再用.format进行补充。
    • 位置占位符进行字符串格式化
    name = 'tank'
    des = 'beijing'
    print('welcome to {} {}'.format(des,name))#默认情况下根据索引从小到大进行,元组(des,name)索引默认就是0,1
    
    welcome to beijing tank
    

    等价于

    name = 'tank'
    des = 'beijing'
    print('welcome to {0} {1}'.format(des,name))
    print('welcome to {2} {3}'.format(des,name))#超过索引时,会提示错误
    
    welcome to beijing tank
    ---------------------------------------------------------------------------
    IndexError                                Traceback (most recent call last)
    <ipython-input-14-cbf79bbef767> in <module>
          2 des = 'beijing'
          3 print('welcome to {0} {1}'.format(des,name))
    ----> 4 print('welcome to {2} {3}'.format(des,name))
    
    IndexError: tuple index out of range
    

    还可以根据自己的需要调整占位符的顺序

    name = 'tank'
    des = 'beijing'
    print('welcome to {1} {0}'.format(des,name))
    
    welcome to tank beijing
    

    这样就name显示在前,des显示在后了。

    • 关键字参数占位符
    name = 'tank'
    des = 'beijing'
    print('welcome to {arg1} {arg2}'.format(arg1=des,arg2=name))
    
    welcome to beijing tank
    
    1. f-strings方法:注意在python3.7才能使用。
    name = 'tank'
    des = 'beijing'
    print(f'welcome to {des} {name}')
    
    welcome to beijing tank
    

    这里f的作用就是找到{},然后把括号中的值当作一个变量,然后再获取这个变量的值。另外,还需要注意使用f-strings格式化时的转义,比如要在字符串中输出{ok},要输入两个花括号{{}}。

    name = 'tank'
    des = 'beijing'
    print(f'{{ok}} welcome to {des} {name}')
    
    {ok} welcome to beijing tank
    

    所谓的转义字符,就是用反斜杠开头的字符串,来表示一些特定意义的字符。常见的的转义字符,如下表:

    字符串的常用方法

    1. 字符串索引:其实和列表、元组的操作差不多。
    l = 'welcome to beijing tank'
    print(l[0])
    print(l[1])
    print(l[2])
    print(l[3])
    
    w
    e
    l
    c
    
    1. 字符串的切片:其实和列表、元组的操作差不多。需要注意左包含原则。
    l = 'welcome to beijing tank'
    print(l[0:7])
    print(l[-4:])
    
    welcome
    tank
    
    1. find:返回查找字符串的下标位置。如果返回的是-1,代表的是没有查找到该字符串。rfind是从右边到左边。
    l = 'welcome to beijing tank tank'
    print(l.find('t'))
    
    8
    

    返回的是找到的第一个字符串的索引位置。

    1. index:和find非常类似。只不过当查找不到这个字符串的时候,不是返回-1,而是抛出一个异常。rindex是从右边开始查找。
    2. len:获取字符串字符的长度。
    l = 'welcome to beijing tank tank'
    print(len(l))
    
    28
    
    1. count:用来获取子字符串在原来字符串中出现的次数。
    l = 'welcome to beijing tank tank'
    print(l.count('t'))
    
    3
    
    1. replace:新创建一个字符串,把原来字符串中的某个字符串替换为你想要的字符串。
    list_1 = 'welcome to beijing tank tank'
    print(list_1.replace('to','XX'))
    
    welcome XX beijing tank tank
    
    1. split:按照给定的字符串进行分割。返回的是一个列表。
    list_1 = 'welcome to beijing tank tank'
    list_2 = 'www.baidu.com'
    print(list_1.split(' '))
    print(list_2.split('.'))
    
    ['welcome', 'to', 'beijing', 'tank', 'tank']
    ['www', 'baidu', 'com']
    
    1. startswith:判断一个字符串是否以某个字符串开始。
    list_2 = 'www.baidu.com'
    print(list_2.startswith('www'))
    
    True
    
    1. endswith:判断一个字符串是否以某个字符串结束。使用与startswith相同。

    2. lower:将字符串全部改成小写,返回一个新字符串。

    list_1 = 'Welcome To Beijing '
    list_2 = list_1.lower()
    print(list_1)
    print(list_2)
    
    Welcome To Beijing 
    welcome to beijing 
    
    1. upper:将字符串全部改成大写。
    2. strip:将字符串左右的空格全部去掉。
    list_1 = '   Welcome To Beijing   '
    list_2 = list_1.strip()
    print(list_1)
    print(list_2)
    
       Welcome To Beijing   
    Welcome To Beijing
    
    1. lstrip:删除字符串左边的空格。

    2. rstrip:删除字符串右边的空格。

    3. isalnum:如果string至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False

    list_1 = '123'
    print(list_1.isalnum())
    
    True
    
    1. isalpha:如果string至少有一个字符并且所有字符都是字母则返回True,否则返回False
    2. isdigit:如果string只包含数字则返回True否则返回 False
    3. isspace:如果字符串中只包含空格,则返回True,否则返回False
    4. 字符串的拼接:使用加法操作符'+='的字符串拼接方法。它是一个例外,打破了字符串不可改变的特性。另外,它的使用效率非常高,时间复杂度就仅为 O(n)。
    s = ' '
    for x in range(0,10):
        s += str(x)
    print(s)
    
    0123456789
    

    ‘ ’.jion方法也可以实现字符串的拼接

    s = []
    for x in range(0,10):
        s.append(str(x))
    s = ''.join(s)
    print(s)
    
    0123456789
    

    相关文章

      网友评论

          本文标题:python字符串

          本文链接:https://www.haomeiwen.com/subject/xfbscctx.html