zoukankan      html  css  js  c++  java
  • 万恶之源-03-基本数据类型之字符串

    字符串的应用比较多,所以单独拿出来

    字符串(str)
    字符串是不可变对象. 所有操作都是产生新字符串返回
    把字符连成串. 在python中用', ", ''', """引起来的内容被称为字符串.
    --------------------------------------------------

    s = "_".join(li) 将字符拼接成完整的字符串,以'_'拼接

    4.1 切片和索引
    1. 索引. 索引就是下标. 切记, 下标从0开始

    # 0123456 7 8
    s1 = "python最牛B"
    print(s1[0]) # 获取第0个
    print(s1[1])
    print(s1[2])
    print(s1[3])
    print(s1[4])
    print(s1[5])
    print(s1[6])
    print(s1[7])
    print(s1[8])
    # print(s1[9]) # 没有9, 越界了. 会报错
    print(s1[-1]) # -1 表示倒数.
    print(s1[-2]) # 倒数第二个 

    ------------------------------------------------------
    2. 切片, 我们可以使用下标来截取部分字符串的内容
    语法: str[start: end]
    规则: 顾头不顾腚, 从start开始截取. 截取到end位置. 但不包括end

    ----------------------------------------------------------
    s2 = "python最牛B"
    8 1000 4
    print(s2[0:3]) # 从0获取到3. 不包含3. 结果: pyt
    print(s2[6:8]) # 结果 最牛
    print(s2[6:9]) # 最大是8. 但根据顾头不顾腚, 想要取到8必须给9
    print(s2[6:10]) # 如果右边已经过了最大值. 相当于获取到最后
    print(s2[4:]) # 如果想获取到最后. 那么最后一个值可以不给.
    print(s2[-1:-5]) # 从-1 获取到 -5 这样是获取不到任何结果的. 从-1向右数. 你怎么数也数不到-5
    print(s2[-5:-1]) # 牛b, 取到数据了. 但是. 顾头不顾腚. 怎么取最后一个呢?
    print(s2[-5:]) # 什么都不写就是最后了
    print(s2[:-1]) # 这个是取到倒数第一个
    print(s2[:]) # 原样输出
    ----------------------------------------------------------------  

    跳着截取
    # 跳着取, 步长

    print(s2[1:5:2]) # 从第一个开始取, 取到第5个,每2个取1个, 结果: yh, 分析: 1:5=>
    ytho => yh
    print(s2[:5:2]) # 从头开始到第五个. 每两个取一个
    print(s2[4::2]) # 从4开始取到最后. 每两个取一个
    print(s2[-5::2]) # 从-5取到最后.每两个取一个
    print(s2[-1:-5]) # -1:-5什什么都没有. 因为是从左往右获取的.
    print(s2[-1:-5:-1]) # 步长是-1. 这时就从右往左取值了
    print(s2[-5::-3]) # 从倒数第5个开始. 到最开始. 每3个取一个, 结果oy  

    步长: 如果是整数, 则从左往右取. 如果是负数. 则从右往左取. 默认是1
    切片语法:
    str[start:end:step]
    start: 起始位置
    end: 结束位置
    step:步长

    小总结:

    s1.capitalize() #首字母大写
    s1.lower() # 全部转换成小写
    s1.upper() # 全部转换成大写
    s1.swapcase() # 大小写互相转
    s1.casefold() # 转换成小写
    s1.title() #在全文中所有的首字母都大写
    s5.center(10, "*") 拉长成10, 把原字符串串放中间.其余位置补*
    s7.strip() # 去掉左右两端的空格
    s7.lstrip() # 去掉左边空格
    s7.rstrip() # 去掉右边空格
    s7.strip("abc") # defg 也可以指定去掉两边的元素
    

      

    s8.replace('alex', '金角大王') # 把alex替换成金角大王
    s8.replace('i', 'SB', 2) # 把i替换成SB, 替换2个
    s9.split(",") # 字符串切割, 根据,进行切割 


    # 格式化输出

    s12 = "我叫%s, 今年年%d岁了了, 我喜欢%s" % ('sylar', 18, '周杰伦') # 之前的写法
    print(s12)
    s12 = "我叫{}, 今年年{}岁了了, 我喜欢{}".format("周杰伦", 28, "周润发") # 按位置格式化
    print(s12)
    s12 = "我叫{0}, 今年年{2}岁了了, 我喜欢{1}".format("周杰伦", "周润发", 28) # 指定位置
    print(s12)
    s12 = "我叫{name}, 今年年{age}岁了了, 我喜欢{singer}".format(name="周杰伦", singer="周润
    发", age=28) # 指定关键字
    print(s12)  

    查找

    s13.startswith("sylar") # 判断是否以sylar开头
    s13.endswith("语言") # 是否以'语言'结尾
    s13.count("a") # 查找"a"出现的次数
    s13.find("sylar") # 查找'sylar'出现的位置
    s13.index("sylar") # 求索引位置. 注意. 如果找不不到索引. 程序会报错
    s13.get("sylar") # 求索引位置. 注意. 如果找不不到索引. 程序不会报错  

    5. 条件判断

    # 是否由字母和数字组成
    print(s14.isalnum())
    # 是否由字母组成
    print(s14.isalpha())
    # 是否由数字组成, 不不包括⼩小数点
    print(s14.isdigit())
    print(s14.isdecimal())
    print(s14.isnumeric()) # 这个比较牛B. 中文都识别. 

    6. 计算字符串的长度

    len(s18) # 计算字符串的长度
    注意: len()是python的内置函数. 所以访问方式也不一样. 你就记着len()和print()一样就行了

  • 相关阅读:
    Debugger and device times have drifted by more than 60s. Please correct this by running adb shell "date `date +%m%d%H%M%Y.%S`" on your debugger machine.
    react native 动画组件Animated
    react-navigation 报错解决方法
    Java并发编程:线程池的使用
    如何设置eclipse下查看java源码
    接口和抽象类
    java接口可以继承多个接口
    抽象类和抽象方法的区别
    final
    static
  • 原文地址:https://www.cnblogs.com/zpf666/p/9664963.html
Copyright © 2011-2022 走看看