• 7.19_python_lx_day7


    一.字符串的相关操作

    (1)字符串的拼接
    (2)字符串的重复
    (3)字符串跨行拼接
    (4)字符串的索引
    (5)字符串的切片:
      语法 => 字符串[::] 完整格式:[开始索引:结束索引:间隔值]
        <1>[开始索引:] 从开始索引截取到字符串的最后
        <2>[:结束索引] 从开头截取到结束索引之前(结束索引-1)
        <3>[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
        <4>[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取字符
        <5>[:]或[::] 截取所有字符串

     (1)字符串的拼接 +

    1 strvar = 'a' + 'b'
    2 strvar +='c'
    3 print(strvar)

    (2)字符串的重复 *

    1 strvar = 'abc' * 3
    2 print(strvar)

    (3)字符串跨行拼接

    1 strvar = 'dlawjdla'
    2 '多余的几行放在第二行进行显示'
    3 print(strvar)

    (4)字符串的索引

    1 # 正向索引: 012
    2 strvar =     'abc'
    3 # 逆向索引 -3-2-1
    4 res = strvar[2]

    (5)字符串的切片:(切片 <=> 截取)

    <1>[开始索引:]  从开始索引截取到字符串的最后

    1 strvar = "国安,国安,北京国安"
    2 res = strvar[6:]
    3 print(res)

    <2>[:结束索引]  从开头截取到结束索引之前(结束索引-1)

    1 strvar = "国安,国安,北京国安"
    2 res = strvar[:5]
    3 print(res)

    <3>[开始索引:结束索引]  从开始索引截取到结束索引之前(结束索引-1)

    1 strvar = "国安,国安,北京国安"
    2 res = strvar[3:5]
    3 print(res)

    <4>[开始索引:结束索引:间隔值]  从开始索引截取到结束索引之前按照指定的间隔截取字符

    1 strvar = "国安,国安,北京国安"
    2 #正序
    3 res = strvar[::2]# 0 2 4 6 8 10 12 ...
    4 print(res)
    5 #倒序
    6 res = strvar[::-1]# -1 -2 -3 -4 -5 -6....
    7 print(res)

    <5>[:]或[::]  截取所有字符串

    1 strvar = "国安,国安,北京国安"
    2 res = strvar[:]
    3 res = strvar[::]
    4 print(res)

    二.字符串的相关函数

    (1)capitalize 字符串首字母大写

    1 strvar =  'abc'
    2 res = strvar.capitalize()
    3 print(res)

    (2)title 每个单词的首字母大写

    1 strvar  = 'abc  bad,abd,ldajlw,iqow'
    2 res = strvar.title()
    3 print(res)

    (3)upper 将所有字母变成大写

    1 strvar = 'ANDldjaldlw,ldDD'
    2 res = strvar.upper()
    3 print(res) 

    (4)lower 将所有字母变成小写

    1 strvar = 'ADLAJD,dwajdl,ldajdlkDD'
    2 res = strvar.lower()
    3 print(res)

    (5)swapcase 大小写互换 

    1 strvar = 'ADCKdlaj,dajADLJA'
    2 res = strvar.swapcase()
    3 print(res)

    (6)len 计算字符串的长度

    1 strvar ='dawdl'
    2 res = len(strvar)
    3 print(res)

    (7)count 统计字符串中某个元素的数量 

    strvar = 'aaldjladaddjlk'
    res = strvar.count('a')
    print(res)

    (8)find 查找某个字符串第一次出现的索引位置  (推荐)

    字符串.find("字符",开始索引,结束索引) 如果找不到直接返回-1

    strvar = "oh Father this is my Favorate dog"
    1
    res = strvar.find("F") 2 res = strvar.find("F",4) 3 res = strvar.find("Fav",5,10) # 结束索引本身取不到,取到之前的那个值 4 print(res)

    (9)index 与 find 功能相同 find找不到返回-1,index找不到数据直接报错

    strvar = "oh Father this is my Favorate dog"

    #res = strvar.index("Fav",5,10) error

    (10)endswith 判断是否以某个字符或字符串结尾

    1 strvar = "oh Father this is my Favorate dog"
    2 res = strvar.endswith("dog")
    3 res = strvar.endswith("rate",-12)
    4 res = strvar.endswith("rate",-12,-4)
    5 print(res)

    (11)endswith 判断是否以某个字符或字符串结尾

    1 strvar = "oh Father this is my Favorate dog"
    2 res = strvar.endswith("dog")
    3 res = strvar.endswith("rate",-12)
    4 res = strvar.endswith("rate",-12,-4)
    5 print(res)

    (12)isupper 判断字符串是否都是大写字母

    1 strvar = "ABCD"
    2 res = strvar.isupper()
    3 print(res)

    (13)islower 判断字符串是否都是小写字母 

    strvar = "abcdd12345"
    res = strvar.islower()
    print(res)

    (14)isdecimal 检测字符串是否以数字组成  必须是纯数字

    1 strvar = "12354" #True
    2 strvar = "12354.8979112"
    3 res = strvar.isdecimal()
    4 print(res)

    (15)填充字符串

    ljust  填充字符串,原字符居左 (默认填充空格)

    1 strvar = "abc"
    2 res = strvar.ljust(10)
    3 print(res)

    rjust  填充字符串,原字符居右 (默认填充空格)

    1 strvar = "abc"
    2 res = strvar.rjust(10,"&") #原字符串长度 + 填充字符长度 = 10 ,默认填充空格
    3 print(res)

    center 填充字符串,原字符居中 (默认填充空格)

    1 strvar = "abc"
    2 res = strvar.center(10,"#")
    3 print(res)

    (18)去掉字符串旁侧的空白符

    strip  默认去掉首尾两边的空白符

    1 strvar = "@@@@@    周杰伦           @@@@@"
    2 res = strvar.strip()
    3 res = strvar.strip("@") # 指定去掉的符号
    4 print(res)

    rstrip 去掉右边某个字符

    1 strvar = "@@@@@    周杰伦           @@@@@"
    2 res = strvar.rstrip("@")
    3 print(res)

    lstrip 去掉左边某个字符

    1 strvar = "@@@@@    周杰伦           @@@@@"
    2 res = strvar.rstrip("@")
    3 print(res)

    重要!!!

    (19)split 按某字符将字符串分割成列表(默认字符是空格)

    1 strvar = "you can you up no can no bb"
    2 lst = strvar.split()
    3 print(lst) #['you', 'can', 'you', 'up', 'no', 'can', 'no', 'bb']
    4 strvar = "you-can-you-up-no-can-no-bb"
    5 lst = strvar.split("-")   # 从左到右分隔  ['you', 'can', 'you', 'up', 'no', 'can', 'no', 'bb']
    6 lst = strvar.rsplit("-",2)# 从右到左分隔,(可以指定分隔的次数)  ['you-can-you-up-no-can', 'no', 'bb']
    7 print(lst)

    (20)join  按某字符将列表拼接成字符串(容器类型都可)

    lst = ['you', 'can', 'you', 'up', 'no', 'can', 'no', 'bb']
    res = "".join(lst) #youcanyouupnocannobb
    res = " ".join(lst) #you can you up no can no bb
    res = "-".join(lst) #you-can-you-up-no-can-no-bb
    print(res)

    (21)replace 替换,把字符串的旧字符换成新字符

    replace(要替换的字符,替换成什么,替换的次数)

    1 strvar = "有没有,有没有,还有没有"
    2 res = strvar.replace("有没有","真没有")#真没有,真没有,还真没有
    3 res = strvar.replace("有没有","真没有",1)#真没有,有没有,还有没有
    4 print(res)
    三.字符串的格式化 format
    传参方式
    (1)顺序传参
    1 strvar = '今天{}崩溃了,想{}'.format('','睡觉')
    2 print(strvar)#今天我崩溃了,想睡觉
    (2)索引传参
    1 strvar = '人生{1},我亦{0}'.format('是行人','如逆旅')
    2 print(strvar)# 人生如逆旅,我亦是行人
    (3)关键字传参
    1 strvar = '{name}买了{num}个开塞露'.format(name='刘子豪',num='5')
    2 print(strvar)#刘子豪买了5个开塞露
    (4)容器类型数据(列表或元祖)传参
    1 strvar = '如果{z[2]},我也不知道{x[2]}'.format(z=['a','b','有一天'],x=('a','b','写什么'))
    2 print(strvar)#如果有一天,我也不知道写什么
    (5)format当中,不能使用逆向下标,不识别
    1 strvar = '如果{z[-2]},我也不知道{x[-1]}'.format(z=['a','b','有一天'],x=('a','b','写什么'))# error 不能使用逆向下标

    (6)如果容器是字典,直接写键值,不需要加上引号
    1 strvar = "{a[b]}差点给{b[y]}打死".format(a = {'b':1,'c':2},b={'x':3,'y':4})
    2 print(strvar)   #1差点给4打死
    format的填充符号的使用( ^ > < )

    ^ 原字符串居中
    > 原字符串居右
    < 原字符串居左

    例:

    {who:*^10}
    who : 关键字参数
    * : 要填充的字符(默认填充空格)
    ^ : 原字符串居中
    10 : 总长度 = 原字符串长度 + 填充字符长度

    1 strvar = "{who:*^10}在{where:>>10},{do:!<10}".format(who="刘子豪",where="电影院",do="拉屎")
    2 print(strvar) #***刘子豪****在>>>>>>>电影院,拉屎!!!!!!!!

    format进制转换等特殊符号的使用( :d   :f    :s    :, )

    (1):d 整型占位符 (要求类型必须是整型)

    1 strvar = "刘子豪昨天买了{:d}个开塞露".format(100) # 100.5error
    2 print(strvar)#刘子豪昨天买了100个开塞露

       2d 占用两位,不够两位拿空格来补,默认居右

    strvar = "刘子豪昨天买了{:2d}个开塞露".format(3)
    print(strvar)#刘子豪昨天买了 3个开塞露

        < > ^ 调整对应的位置

    1 strvar = "刘子豪昨天买了{:<2d}个花露水".format(3)#刘子豪昨天买了3 个开塞露
    2 strvar = "刘子豪昨天买了{:^3d}个花露水".format(3)#刘子豪昨天买了 3 个开塞露
    3 print(strvar)

    (2):f 浮点型占位符 (要求类型必须是浮点型)

    1 strvar = "我毕业时,找工作的薪资是{:f}".format(2.5)
    2 print(strvar )#我毕业时,找工作的薪资是2.500000

       :.2f 小数点保留2位

    strvar = "我毕业时,找工作的薪资是{:.2f}".format(2.56789)
    print(strvar)#我毕业时,找工作的薪资是2.57  (存在四舍五入)

    (3):s 字符串占位符 (要求类型必须是浮点型)

    1 strvar = "{:s}".format("今天天气不错,万里无云")
    2 print(strvar)#今天天气不错,万里无云

    (4):, 金钱占位符

    1 strvar = "{:,}".format(123456789)
    2 print(strvar)# 123,456,789 (每三位一个,)


  • 相关阅读:
    HTML5中类jQuery选择器querySelector的使用
    java发布环境时,Xshell常用的命令(基础)
    java后端:实现导出excel,按其中一个列的数据生成二维码图片,显示在列表中
    SQL 函数:case when 的用法
    微服务-学习笔记
    初学笔记:存储过程的简单概念
    初学笔记:GROUP_CONCAT 的作用,和使用条件
    jsp练习
    数据库2
    数据库
  • 原文地址:https://www.cnblogs.com/Magicianlx/p/13337949.html
Copyright © 2020-2023  润新知