Python基本数据类型之字符串

编程入门 行业动态 更新时间:2024-10-27 08:29:16

Python基本数据类型之<a href=https://www.elefans.com/category/jswz/34/1771434.html style=字符串"/>

Python基本数据类型之字符串

文章目录

  • 变量类型之字符串
      • 一、字符串的性质
      • 二、字符串的分类
        • 1.字符串又分为转义字符、原始字符串和一般字符串三种。
      • 三、字符串的基本操作
        • 1.字符串能实现拼接、重复、成员运算、比较大小等基本操作,其中比较大小还涉及到进制转换。
        • 2.字符串也能实现跟列表一样的通过下标找元素,切片等操作。
        • 3.字符串的遍历也有两种
      • 四、字符串的方法
          • 1.字符串的方法有:
          • 2.字符串的各种方法的应用
          • 3.字符串方法的补充
      • 五、字符串推导式

变量类型之字符串

一、字符串的性质

  • 字符串是有序数据类型(存在下标)
  • 字符串是不可变数据类型(不存在增删改)
  • 字符串容器符号:引号括起来的内容,数据类型:str

二、字符串的分类

1.字符串又分为转义字符、原始字符串和一般字符串三种。
  • a) 转义字符串:C语言开始规定"反斜杠\ + ASCII某些特定的符号"能够展示出特殊的含义,Python延续了C语言的规定。

  • b) 常见的[转义字符串](Python3 字符串 | 菜鸟教程 (runoob))有:

    • \n:换行;\t:制表符;\:一个反斜杠;':一个单引号;":一个双引号。
      • 一个转义字符长度为1。
      • 反斜杠:在已经规定好的转义字符中,反斜杠是转义字符的标志,一个反斜杠添加到一个符号前,能够使其具有特殊含义,在这些转义字符前再添加一个反斜杠,能使其特殊含义消失
    print('abcd')
    print('ab\ncd')
    print('ab\tcd')
    print('abcd\\n')
    # 打印结果为:
    # abcd
    # ab
    # cd
    # ab	cd
    # abcd\n
    
  • c) 原始字符串

    • 在一个字符串前面添加r或者R,能够使所有具有特殊含义的字符失效。
    print('ab\ncd', len('ab\ncd'))
    print(r'ab\ncd', len(r'ab\ncd'))
    # 打印结果为:
    # ab
    # cd 5
    # ab\ncd 6
    
    • 应用场景:
      • 1.使路径(绝对路径、相对路径)中的可能出现的转义字符失效
      • 2.使正则表达式中某些转义字符失效

三、字符串的基本操作

1.字符串能实现拼接、重复、成员运算、比较大小等基本操作,其中比较大小还涉及到进制转换。
  • a) 字符串的拼接

    str1 = 'abcd'
    str2 = 'abde'
    str3='123456789'
    print(str1 + str2, str1, str2)
    print(str3 + '你好') 
    # abcdabde  abcd  abde
    # 123456789你好
    
  • b) 字符串的重复

    print('-' * 20)
    str='123456789'
    print(str * 2) 
    # --------------------
    # 123456789123456789
    
  • c) 字符串的成员运算(in、not in )

    str3 = 'abcde123'
    print('a' in str3)
    # print(1 in str3)    # TypeError: 'in <string>' requires string as left operand, not int
    print('1' in str3)
    print('123' in str3)
    print('ace' in str3)
    # 打印结果:TrueTrueTrueFalse
    
  • d) 字符串的比较大小运算

    • 字符串比较大小比较的是第一对不同元素的编码值大小
  • 其中涉及到ord()和chr()两种方法:

    • ord() :将单一符号转换为十进制整数。
    • chr() :将十进制数值转换为单一符号。
      • ASCII编码表:美国人订制,一共涉及到128个符号。
      • 英文字母:A-Z:65-90; a-z:97-122;
      • 数字:0-9:48-57;
    print('a' > 'A')print('abcd' > 'abce')print(ord('a'))print(chr(97))  # 打印结果是:TrueFalse97a
    
2.字符串也能实现跟列表一样的通过下标找元素,切片等操作。
  • 字符串的切片也称索引,方法基本跟列表一样。

    str4='HelloPython'print(str4)                 # 输出字符串
    print(str4[0:-1])           # 输出第一个到倒数第二个的所有字符
    print(str4[0])              # 输出字符串第一个字符
    print(str4[2:5])            # 输出从第三个开始到第五个的字符
    print(str4[2:])             # 输出从第三个开始后的所有字符
    print(str4[1:5:2])          # 输出从第二个开始到第五个且每隔一个的字符(步长为2)
    print(str4[-1:-10:-1])		# 输出倒序的字符串
    print(str4[::-1])           # 输出倒序的字符串
    print(str4[::-3])			# 输出步长为3的倒序字符串# HelloPythonHelloPythoHllolloPythonelnohtyPolleHnohtyPolleHntoe
    
3.字符串的遍历也有两种
  • a) 直接遍历:for 循环遍历,for 变量 in 字符串:

  • b) 间接遍历:引入len方法,对字符串的下标进行操作。

    str1 = '123456789'
    # 1.直接遍历
    for i in str1:print(i)
    # 1 2 3 4 5 6 7 8 9    # 2.间接遍历
    for i in range(len(str1)):print(f'{i}-->{str1[i]}')
    # 0-->11-->22-->33-->44-->55-->66-->77-->88-->9
    

四、字符串的方法

1.字符串的方法有:
  • 查找:find、rfind。 index、rindex。
  • 大小写转换:upper、lower、title、capitalize。
  • 切割:split。
  • 合并:join
  • 替换:replace。
  • 去除两端符号:strip。
2.字符串的各种方法的应用
  • a) 查找

    • find、rfind查找

    • find -->从左向右查找,找到第一个出现的位置就停止查找。或者指定开始查找的位置找不到返回-1

      • rfind -->从右向左查找,查找某个字符在字符串中的位置,返回的也是正向下标。
      # find查找元素,返回对应下标
      str1 = 'abcd123a'
      print(str1.find('a'))
      print(str1.find('a', 1))
      print(str1.find('A'))
      # 0 7 -1# rfind查找元素
      print(str1.rfind('a'))
      print(str1.rfind('A'))
      # 7  -1
      
    • index、rindex查找

      • index–>从左向右查找元素,找到第一个出现的位置就停止查找。或者指定开始查找的位置。找不到报错
      • rindex–>从右向左查找元素,找到第一个出现的位置就停止查找。找不到报错
      # index查找元素
      str1 = 'abcd123a'
      print(str1.index('a'))
      print(str1.index('a', 1))
      print(str1.index('A'))
      # 0  7substring not found  找不到子字符串# rindex查找元素
      print(str1.rindex('a'))
      print(str1.rindex('A'))
      # 7substring not found  找不到子字符串
      
  • b) 大小写转换

    • upper:将字符串中所有的小写字母转大写。

      str2 = 'abc123def'
      print(str2.upper())
      # ABC123DEF
      
    • lower:将字符串中所有的大写字母转小写。

      print(str2.upper().lower())
      # abc123def
      
    • title:将字符串中每个单词的首字母大写。

      print(str2.title())
      # Abc123Def
      
    • capitalize:如果字符串的开头是小写字母,转大写。

      print(str2.capitalize())
      # Abc123def
      
  • c) 切割:split

    • split:切割,以字符串中某个符号作为切割点,将切割点左右两边的元素放入列表

      str3 = ',a,b,c,d,e,'
      strList = str3.split(',')
      print(strList)
      # ['', 'a', 'b', 'c', 'd', 'e', '']
      
  • d) 合并:join

    • join: 合并,以指定的连接符将一个字符串容器中所有元素连接。

      str4 = ','.join(strList)
      print(str4)
      # ,a,b,c,d,e,
      
  • e) 替换:replace

    • replace:replace(old,new) - 将字符串中所有的old子串替换成new字符串。

      print(str4.replace(',', ''))
      # abcde
      
    • replace:replace(old,new,count) - 将字符串中指定count个的old子串替换成new字符串。

      print(str4.replace(',', '', 2))
      # ab,c,d,e,
      
  • f) 去除两端符号:strip

    • strip: 默认将字符串两端的空白符号(空格、\t、\n、\v等)去除;还可以指定字符串两端要去除的符号。

      print(str4.strip(','))
      # a,b,c,d,e
      
3.字符串方法的补充
  • 看完字符串的这些方法是不是觉得不过瘾,字符串在python中内置的方法远远不止这些,若你想深入了解的话,请点击如下链接,带你一次看个够,Python字符串的内键函数方法。

五、字符串推导式

  1. 字符串推导式和列表相似,不同的是字符串推导式一般是和 join 方法搭配在一起使用的。

  2. 字符串类型推导式,推导式里边的元素必须是字符串

  3. 字符串的形式,例如:

    s = "|"
    # 字符串.join表示将其他元素用符号合并。
    print(s.join(i for i in ['hello','world','lixin']))
    print(s.join(['hello','world','lixin']))
    print(s.join(str(i) for i in range(10) if i % 2 == 0))   #高级推导式if进行判断
    

  1. 字符串的形式,例如:

    s = "|"
    # 字符串.join表示将其他元素用符号合并。
    print(s.join(i for i in ['hello','world','lixin']))
    print(s.join(['hello','world','lixin']))
    print(s.join(str(i) for i in range(10) if i % 2 == 0))   #高级推导式if进行判断
    

更多推荐

Python基本数据类型之字符串

本文发布于:2024-03-10 02:44:27,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1726808.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字符串   数据类型   Python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!