一、声明

  0-多个字符组成的有序序列;

二、特点

  1、 字符串是一个不可变的数据类型   

  2、字符串是有序的

三、索引

  下标:'abcde'

    1、从左到右, 0, 1,2, ...
    2、从右到左, 索引值最后一个字符的-1

    倒数第二个字符的索引值-2....

  切片:
    字符串[start : stop : step]

    * start: 能取到
    * stop: 取不到
       顾头不顾尾
    * start: 默认从开头开始
    * stop: 默认是截取到末尾

    1. step为正
      1、 从左到右切, 正序
      2、start < stop

    2、 step为负
      1、依然遵循顾头不顾尾的规则

      2、从右到左切
    3、start > stop

      s = 'abcde'

      'abc' --> s[0:3:]

      'cba' --> s[2::-1]

  长度

    len(字符串) # python内置函数  

  解包
    x, y, z = 'abc'   # x = 'a' z = 'c'

四、字符串的常用方法

  1. 查找

    find() 查找, 从左开始返回指定字符在字符串中的索引值
    rfind() 查找, 从右开始返回指定字符在字符串中的索引值
    以上两个,如果找不到的时候,返回-1

    index() 查找, 从左开始返回指定字符在字符串中的索引值
    rindex() 查找, 从右开始返回指定字符在字符串中的索引值
    以上两个, 如果找不到的时候, 报错

    count() 计算指定字符在字符串中出现的次数

  2. 拆分
    splitlines() 按照换行符进行拆分,将拆分后的每行字符串放置在一个列表中
    split(sep, maxsplit)
      功能: 按照某个字符串进行切割,不保留切割的部分
      sep: 按照谁切割, 切割的规则   

1 s = 'i love python'
2 s.split(' ') ---> ['i', 'love', 'pyhton']

    maxsplit : 切割的次数; 默认切割所有;

    partition(sep)
      功能: 与split一样, 只不过,保留切割的部分

  3、替换
    replace(old, new, count)
    old : 被替换的字符串
    new : 替换为的字符串
    count : 替换的次数, 默认全部替换

    translate()
      功能: 按照对照关系进行替换
      参数: 对照关系
        str.maketrans(被替换的字符串, 替换为的字符串)

      其中: 被替换的 和 替换为的 每个字符一一对应

        m = str.maketrans('美丽', '漂亮')

      '雪真美丽'.translate(m) --> 雪真漂亮'

  4、修饰
    center 居中
    ljust 左对齐
    rjust 右对齐
    zfill 使用0从左开始填充
    strip 去除首尾空格,也可以去除指定的字符
    lstrip 去除左边空格,也可以去除指定字符
    rstrip 去除右边空格, ......

  5、format

    (1)通过位置参数填充内容
    (2)通过关键字参数填充内容
    (3) 填充与格式化
      {:^8} 居中长度为8,用空格填充
      {:*<10} 居左长度为10,用*填充

    (4) 精度与进制
      {:.3f} 保留小数点后3位
      {:o} 将十进制数转换为八进制数
      {:x} 将十进制数转换为十六进制数
      {:b} 将十进制数转换为二进制数  

  6、字符串的格式化

    '%d...%f...%s' % (整形数据, float数据, 字符串数据)

  7、字符串变形
    upper 变大写
    lower 变小写
    swapcase 大小写互换
    title 每个单词的首字符大写
    capitialize 整个字符串的首字符大写
    expandtabs 把\t ---> 空格, 共8个字符

  8、 字符串的判断
    isalnum 是否全部是字母或数字组成
    isdigit ..........数字.....
    isalpha ..........字母.....
    isupper 字母部分是否都是大写
    islower 字母部分是否都是小写
    istitle 是否每个单词首字母大写
    isspace 是否全部由空白字符组成
    startswith 是否以....开头
    endswith 是否以....结尾

  9、python内置的两个函数
    dir() 查看对象的所有方法
    help() 查看函数的使用方法,说明文档

三、转义字符

  改变原有字符的含义:符号: \ , 如、\n, \t, \b, \w

  原始字符串: r' ' 使字符串保持每个字符原有的含义