python基础(5)--字符串

1.字符串的定义

  • 概念:字符串是一个有序的字符序列
  • 作用:用来保存 中文 字母 或者 符号
  • 格式:
字符串名 = '字符1字符2...'
  • 特殊的字符串–空字符串

    • 可以用以下两种形式表达

      字符串名 = ''
      字符串名 = str()
      
  • 如果需要保留文本格式,就需要利用三引号(类似注释)

"""你好
世界

"""
  • 保留 “” 或者 ‘’
    • 保留 “” 需要在外面加 ‘’ ,反之加 “”
      • ‘“hello”’
      • “‘world’”

2.下标索引

  • 作用:

    • 通过下标索引获取字符串中的字符
    • 每次只能拿到一个字符
  • 格式

    字符名 = 字符串名[下标索引]
    
  • 分类

    • 从左到右: 0, 1, 2, …
    • 从右到左: -1, -2, -3, …
  • 注意:

    • 如果下标索引使用不当会导致 下标索引 越界
      IndexError: string index out of range
      

3.切片

  • 作用:

    • 用来截取字符串中的某个字符或者字符串片段
  • 格式:字符串名[起始位置(包含):终止位置(不包含):步长]

    结果 = 字符串名[start: stop: step]
    
  • 注意:

    • 起始位置不输入时,默认为0位 即字符串的第一位
    • 终止位置不输入时,默认为字符串的长度,即取到字符串最后一位(含最后一位)
    • 步长不输入时,默认为1
    • stop 是一个开区间
    • step 正数则是从左到右,负数 从右到左
    • step 每隔(step-1) 个字符 取一个字符

4.字符串常见操作

  • 1. find

    • 检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1

    • 格式: 字符串名.find(“要查找的字符或字符串” ,起始位置,终止位置)

    • 不输入起始位置和终止位置时,默认为全部

      mystr.find(str, start, end)
      
  • 2. index

    • 跟find()方法一样,只不过如果str不在 mystr中会报一个异常

    • 因为存在报错的可能,所以同种情况一般不使用index,而是用find,这样不会影响程序的运行

    • 格式: 字符串名.index(“要查找的字符或字符串” ,起始位置,终止位置)

    • 不输入起始位置和终止位置时,默认为全部

      mystr.index(str, start, end)
      
  • 3. count

    • 返回 str在start和end之间 在 mystr里面出现的次数

    • 格式: 字符串名.count(“要查找的字符或字符串” ,起始位置,终止位置)

    • 不输入起始位置和终止位置时,默认为全部

      mystr.count(str, start, end)
      
  • 4.replace

    • 把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.

    • 格式: 字符串名.replace(“需要更改的字符”,“更改后的字符” ,更改次数)

    • 不输入更改次数时,默认为全部更改

      mystr.replace(str1, str2,  mystr.count(str1))
      
    • 由replace的结果可知,其不会更改字符串mystr的数据,而只能将更改的数据赋值给另外的变量,这也说明了字符串是不可更改的数据类型,后面的元组类型也是如此
  • 5. split

    • 以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串

    • 格式: 字符串名.split(“作为分隔的字符”,分隔次数)

      • x应小于等于分隔字符存在的次数,不然将等同于全部分隔
      mystr.split(str=" ", x)    
      
      • 不输入分隔次数时,默认为全部分隔
      • 作为分隔的字符将被直接去除
      • split 会将字符串变成列表(list)类型的数据
  • 6. capitalize

    • 把字符串的第一个字符大写

    • 格式: 字符串名.capitalize()

      mystr.capitalize()    
      
  • 7. title

    • 把字符串的每个单词首字母大写

    • 格式: 字符串名.title()

      mystr.title()    
      
  • 8. startswith

    • 检查字符串是否是以 判断字符 开头, 是则返回 True,否则返回 False

    • 格式: 字符串名.startswith(“判断字符”)

      mystr.startswith("判断字符")
      
  • 9. endswith

    • 检查字符串是否是以 判断字符 结束, 是则返回 True,否则返回 False

    • 格式: 字符串名.endswith(“判断字符”)

      mystr.endswith("判断字符")
      
  • 10. lower

    • 转换 mystr 中所有大写字符为小写

    • 格式:字符串名.lower()

      mystr.lower()
      
  • 11. upper

    • 转换 mystr 中的小写字母为大写

    • 格式:字符串名.upper()

      mystr.upper()
      
  • 12. ljust

    • 返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
    • 格式:字符串名.ljust(width)
     mystr.ljust(width)
    
  • 13. rjust

    • 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
    • 格式:字符串名.rjust(width)
     mystr.rjust(width)
    
  • 14. center

    • 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
    • 格式:字符串名.center(width)
     mystr.center(width)
    
    • (ljust,rjust,center)实质是mystr.ljust(width,“填充字符”)
    • 不输入填充字符时,默认为空格
    • 有其他需要的时候可以对其更改
  • 15. lstrip

    • 删除 mystr 左边的空白字符

    • 格式:字符串名.lstrip()

      mystr.lstrip()
      
  • 16. rstrip

    • 删除 mystr 字符串末尾的空白字符

    • 格式:字符串名.rstrip()

      mystr.rstrip()
      
  • 17. strip

    • 删除 mystr 字符串末尾的空白字符

    • 格式:字符串名.strip()

      mystr.strip()
      
      • 在(lstrip,rstrip strip)中,空白字符包含(\n)换行,(\t)tap,即代码缩进量,空格 三种
      • 当在(lstrip,rstrip strip)后的括号中输入了数据,分别代表在mystr左侧,右侧,两侧,将该数据进行删除,若该数据在内部,不在左侧,右侧,两侧,则不会更改。
  • 18. rfind

    • 类似于 find()函数,不过是从右边开始查找.

    • 格式: 字符串名.rfind(“要查找的字符或字符串” ,起始位置,终止位置)

    • 不输入起始位置和终止位置时,默认为全部

      mystr.rfind(str, start, end)
      
  • 19. rindex

    • 同上
  • 20. partition

    • 把mystr以str分割成三部分,str前,str和str后

    • 格式: 字符串名.partition(str)

      mystr.partition(str)
      
  • 21. rpartition

    • 类似于 partition()函数,不过是从右边开始

      mystr.rpartition(str)
      
    • partition和rpartition会把字符串数据更改为元组(tuple)输出,同样其本身具有不可更改性

  • 22. splitlines

    • 按照行分隔,返回一个包含各行作为元素的列表

    • 格式:字符串名.splitlines()

      • 本质是识别字符串中的换行符\n,以此为界对字符串进行分隔,同时将输出list类型数据
      mystr.splitlines()
      
  • 23. isalpha

    • 如果 mystr 所有字符都是字母 则返回 True,否则返回 False

    • 格式:

      mystr.isalpha()  
      
  • 24. isdigit

    • 如果 mystr 所有字符都是数字 则返回 True,否则返回 False

    • 格式:

      mystr.isdigit()  
      
  • 25. isalnum

    • 如果 mystr 所有字符都是字母或者数字(可以均有) 则返回 True,否则返回 False

    • 格式:

      mystr.isalnum()  
      
  • 26. isspace

    • 如果 mystr 所有字符都是空格 则返回 True,否则返回 False

    • 格式:

      mystr.isspace()  
      
  • 27. join

    • mystr 中每个元素后面插入str,构造出一个新的字符串

    • 格式:需要插入的字符串名.join(被插入数据的可迭代对象名)

      str.join(mystr)  
      
  • 28.help

    • 内置函数 help

      • 如果忘记了一个类型的方法, 可以通过help函数查看

      • 实际开发中,可能遇见我们不曾学过的数据类型 如果查看这个类型的相关方法

        help(str)
        help(str.count)
        help(类型,该类型内的某个函数)
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值