烦人的字符串

字符串的定义与常用操作

  1. 用于储存小量的数据

  2. python中用' '," ",''' ''',""" """括起来的就是字符串

  3. 常用操作

    1. 索引: 索引就是下标,从左向右, 从0开始;从右向左,从-1开始

      num = "1234567890"
      print(num[1])  => 2
      print(num[4])  => 5
      print(num[-1]) => 0
      print(num[-2]) => 9
      print(num[21]) # 索引超出范围,报错
      
    2. 切片:使⽤索引来截取部分字符串的内容

      • 语法: str[start: end: step]

      • 规则: 顾头不顾尾, 从start开始截取, 截取到end位置,但不包括end。

        num = "0123456789"
        num[::] == num[:]  # 从头取到尾
        print(num[0:3])  =>  012 # 不包含索引3对应的"3"
        print(num[5:8])   =>  567
        print(num[5:])    =>  56789  # 想取到最后,end可以不写
        print(num[5:20])  =>  56789  # 索引超出范围,不会报错
        print(num[-1:-5:-1]) => 9876 # step步长决定取值的方向,默认为1
        print(num[1:7:2]) =>  135    # str步长决定取值的步子大小,即每step个取一个
        
    3. 常用方法

      • 切记, 字符串是不可变的对象, 所以任何操作对原字符串是不会有任何影响的
      name = "Hello World"
      print(name.upper()) => HELLO WORLD  字母全部转换成大写
      print(name.lower()) => hello world  字母全部转换成小写
      print(name.startswith("H"))  => True  是否以"H"开头
      print(name.endswith("d"))    => True  是否以"d"结尾
      print(name.count("o"))       => 2     统计"o"出现的次数
      print(name.replace("H","A",次数)  => Aello World  # 将H替换成A,默认全部替换,可以输入替换次数
      
      a = "  Alex  "
      print(a.strip()) => Alex  # 去掉两端的某些元素,()内可以指定元素,默认是空白(空格和\n)
      
      b = "1,2,3"
      print(b.split(",")) => ["1","2","3"]  # 分割,可以指定用于分割的元素,分割后损失这个元素,默认以空格分隔,返回一个列表。
      
      • is 判断系列
      name.isdigit()   # 判断是不是阿拉伯数字,有漏洞
      name.isdecimal() # 判断是不是十进制,可以用于判断数字
      name.isalpha()   # 判断是不是中文和字母
      name.isalnum()   # 判断是不是中文,字母和数字
      
    4. 第三种字符串格式化

      name = "alex{}wusir{}"
      print(name.format("结婚了","要结婚了")) # 按照位置顺序填充
      
      name = "alex{1}wusir{0}"        # 按照索引位置填充
      print(name.format("结婚了","要结婚了"))
      
      name = "alex{a}wusir{b}"
      print(name.format(a="结婚了",b="要结婚了"))  # 指名道姓填充
      
    5. 计算字符串的⻓度

      len(字符串) -- 工厂函数 -- 所有类型都能用,除了int和bool 求元素个数

posted @ 2019-06-05 18:08  怀心抱素  阅读(176)  评论(0编辑  收藏  举报