• 回顾字符串的定义方式
  • 了解转义字符
  • 字符串相关的操作
  • 字符串格式化的方法
  • 字符串相关函数

字符串的定义方式

  1. 单引号定义字符串 '内容'
  2. 双引号定义字符串 "内容"
  3. 三引号定义字符串 '''内容''' or """内容"""
  4. 字符串定义时,引号可以互相嵌套

转义字符

一个普通的字符出现在转义符 \ 的后面时,实现了另外一种意义

  • \ 转义符,续行符。
    • 作为转义符时,在\后面出现的字符可能会实现另外一种意义。
    • 作为续行符时,在行尾使用了\后,可以换行继续书写内容
  • \n 代表一个换行符
  • \r 代表光标位置(从\r出现的位置开始作为光标的起点)
  • \t 代表一个水平制表符(table 缩进)
  • \b 代表一个退格符
  • \\ 反转义\,输出了\,取消\的转义效果

把转义字符作为普通字符输出,在字符串的前面加 r’ ‘

示例:

  1. # \ 续行符
  2. #续行符
  3. # vars = '123' \
  4. # '456'
  5. # print(vars)
  6. # \ 转义符,在字符出现的特定字符有着特定的意义
  7. # \n 代表一个换行符
  8. # vars = '岁月是把杀猪刀,\n\n但是它拿长得丑的人一点办法都没有。。。'
  9. # \r 代表光标的位置(从\r出现的位置开始作为光标的起点)
  10. # vars = '岁月是把杀猪刀,\r但是它拿长得丑的人一点办法都没有。。。'
  11. # \t 水平制表符(table 缩进)
  12. # vars = '岁月是把杀猪刀,\t但是它拿长得丑的人一点办法都没有。。。'
  13. # \b 退格符
  14. # vars = '岁月是把杀猪刀,\b但是它拿长得丑的人一点办法都没有。。。'
  15. # \\ 一个\是转义符,在这个符号前在定义一个\ 就会取消转义。变成一个普通的\输出
  16. # vars = '岁月是把杀猪刀,\\n但是它拿长得丑的人一点办法都没有。。。'
  17. # 把转义字符作为普通字符输出,在字符串的前面加 r''
  18. vars = r'岁月是把杀猪刀,\b但是它拿长得丑的人一点办法都没有。。。'
  19. print(vars)

字符串相关的操作

  • 字符串 + 操作
  • 字符串 * 操作
  • 字符串 [] 切片操作
    • 字符串[开始值:结束值:步进值]
      开始值:默认为0,结束值默认是最后一个下标,步进值默认为1

示例:

  1. # - 字符串 + 操作
  2. vara = '君不见,黄河之水天上来,奔流到海不复回.'
  3. varb = '君不见,高堂明镜悲白发,朝如青丝暮成雪'
  4. # res = vara + varb
  5. res = '将进酒 '+'李白'
  6. # print(res)
  7. # - 字符串 * 操作
  8. # vars = '鸡你太美,' * 5
  9. # print(vars)
  10. # 鸡你太美鸡你太美鸡你太美鸡你太美鸡你太美
  11. # - 字符串 [] 切片操作 ****
  12. # 字符串的索引操作,字符串中只能使用[]下标 访问,不能修改
  13. '''
  14. 0 1 2 3 4 5 6 7 8 9 10 ....
  15. 君不见,黄河之水天上来,奔流到海不复回
  16. -4 -3 -2 -1
  17. '''
  18. vars = '君不见,黄河之水天上来,奔流到海不复回'
  19. # print(vars[5])
  20. # print(vars[-5])
  21. '''
  22. 字符串的切片操作
  23. str[开始值:结束值:步进值]
  24. 开始值:默认为0,结束值默认是最后一个下标,步进值默认为1
  25. '''
  26. # print(vars)
  27. # print(vars[5]) # 写一个值就是获取指定下标的元素
  28. # print(vars[2:5]) # 从2下标开始取值,一直到下标5之前,能取到2,取不到5
  29. # print(vars[4:8:2]) # 黄河之水 ==> 黄之
  30. # print(vars[::]) # 从头取到尾
  31. # print(vars[::2]) # 从头取到尾,每隔一个取一个
  32. # print(vars[::-1]) # 字符串倒转过来
  33. # print(vars[::-2]) # 字符串倒转过来,每隔一个取一个
  34. # print(vars[1::]) # 不见,黄河之水天上来,奔流到海不复回
  35. # print(vars[1::2]) # 不,河水上,流海复

字符串格式化的方法

  • format
  • f

示例:

  1. # 1 format 普通方式
  2. a = '李白'
  3. # vars = '{}乘舟将欲行,互闻岸上踏歌声'.format(a)
  4. # vars = '{}乘舟将欲行,互闻岸上{}'.format(a,'踏歌声')
  5. # 2 format 通过索引传参 0 1 2
  6. # vars = '{2}乘舟将欲行,互闻岸上{1}'.format('a','b','c')
  7. # 3 format 关键字传参
  8. # vars = '{a}乘舟将欲行,互闻岸上{b}'.format(a='李白',b='踏歌声')
  9. # 4 format 容器类型数据传参
  10. # vars = '豪放派:{0[0]},婉约派:{0[1]},蛋黄派:{0[2]}'.format(['李白','辛弃疾','达利园'])
  11. data = {'a':'辛弃疾','b':'蛋黄派'}
  12. vars = '{a}乘舟将欲行,互闻岸上{b}'.format(**data)
  13. # 3.7中新增的 格式化方法 f方法
  14. vars = f'{data["a"]}乘舟将欲行,互闻岸上{data["b"]}'
  15. # print(vars)
  16. # 限定小数的位数
  17. # vars = '圆周率是多少:{:.2f}'.format(3.1415926)
  18. # print(vars)

字符串相关函数

官方文档:内置类型:字符串 https://docs.python.org/3.7/library/stdtypes.html#text-sequence-type-str

(一) 英文字符与字符检测相关函数

  1. # 字符串相关函数 (一) 英文字符与字符检测相关函数
  2. vars = 'iloveyou'
  3. # 返回字符串的副本,该字符串的首个字符大写,其余小写。
  4. # str.capitalize()
  5. res = vars.capitalize()
  6. # 把字符串中的一个单词的首字母大写
  7. res = vars.title()
  8. # 把字符串全部改为 大写
  9. res = vars.upper()
  10. # 把字符串全部改为 小写
  11. res = vars.lower()
  12. # 字符串中的大小写字符转换,大写转小写,小写转大写
  13. res = vars.swapcase()
  14. # 检测字符串是否为全部大写字母组成
  15. res = vars.isupper()
  16. # 检测字符串是否为全部小写字母组成
  17. res = vars.islower()
  18. # 检测字符串是否符合标题title的要求
  19. res = vars.istitle()
  20. # 检测字符串是否由数字和字母组成,如果字符串中包含来非数字字母的其它字符,则返回False
  21. res = vars.isalnum()
  22. # 检测字符串是否全部由字符(包含英文字符和中文)组成
  23. res = vars.isalpha()
  24. # 检测字符串是否由纯数字字符组成
  25. res = vars.isdigit()
  26. # 检测当前字符串是否为 空格 字符组成 ' '
  27. res = vars.isspace()
  28. # 检测字符串是否以指定的字符开始的,也可以指定开始和结束的位置
  29. res = vars.startswith('y')
  30. # res = vars.startswith('y',5)
  31. # 检测字符串是否以 指定的字符 结束的,也可以指定开始和结束的位置
  32. # res = vars.endswith('y')
  33. res = vars.endswith('e',1,5)
  34. print(res)

(二) 字符串 查找与操作相关函数 ※※※

示例:

  1. # ** find() 方法 ,找到则返回字符中符合条件的第一个字符出现的索引位置。未找到返回 -1
  2. res = vars.find('you')
  3. # print(vars[res:res+3])
  4. # index() 方法
  5. # res = vars.index('youe') # 找到则返回索引位置,未找到则报错 ValueError
  6. # print(res)
  7. vars = 'user_admin_id_123'
  8. # ** split() 方法 可以按照指定的分隔符,把字符串分隔成列表
  9. # res = vars.split('_') # ['user', 'admin', 'id', '123']
  10. res = vars.split('_',2) # ['user', 'admin', 'id_123']
  11. # print(res)
  12. # rsplit() 方法是从右向左进行,从后向前
  13. # res = vars.rsplit('_') # ['user', 'admin', 'id', '123']
  14. res = vars.rsplit('_',2) # ['user_admin', 'id', '123']
  15. # print(res)
  16. # ** join() 方法 ,使用指定的字符串,把一个容器中的元素链接成一个字符串
  17. varlist = ['user', 'admin', 'id', '123']
  18. res = '_'.join(varlist)
  19. # ** strip() 去除字符串左右两侧的指定字符
  20. vars = ' zhangsan '
  21. res = vars.strip(' ')
  22. vars = '@admin'
  23. res = vars.strip('@')
  24. # print(vars)
  25. # print(res)
  26. # rstrip() 去除字符串右侧的指定字符, lstrip() 去除字符串左侧的指定字符
  27. # ** len() 函数可以获取当前字符串的长度
  28. # print(len(vars))
  29. # print(len(res))
  30. # ** replace() 替换函数
  31. vars = 'iloveyou'
  32. # 找到 love 替换为 live
  33. res = vars.replace('love','live')
  34. vars = 'aabbccddeeabcdef'
  35. # 可以限制替换的次数
  36. res = vars.replace('b','B',2)
  37. # print(res)