• python 基本数据类型--字符串实例详解


      字符串(str) :把字符连成串. python中⽤', ", ''', """引起来的内容被称为字符串 。

      注意:python中没有单一字符说法,统一称叫字符串。

    一、切片和索引

      1、索引:索引就是下标,从0开始

        

    str= "我是字符串"
    print("str[0]=",str[0])
    print("str[1]=",str[1])
    print("str[2]=",str[2])
    print("str[3]=",str[3])
    print("str[4]=",str[4])
    结果:
    str[0]= 我
    str[1]= 是
    str[2]= 字
    str[3]= 符
    str[4]= 串

      2、切片:可以使用下标来截取部分字符串的内容

        语法:str[start:end]

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

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

        间隔截取:  

          语法:str[start:end:step]  #step表示间隔多少取一个

    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="python" ; s2="pycharm"

      1、s1.capitalize( )   首字母大写

    print(s1.capitalize()) #Python

      2、s1.upper( )   全部大写

    print(s1.upper()) #PYTHON

      3、s1.lower( )  全部小写

    print(s1.upper().lower()) #python

      4、s.title( ) 每个单词首字母大写

    s="money is the bastard"
    print(s.title()) #Money Is The Bastard

      5、s.center( width,fillchar=None)  字符串居中,总长度为width,其余位置用符号fillchar填充

    s="join_l"
    print(s.center(16,"*")) #*****join_l*****

       6、s.strip()   去掉左右两端的空格

    s = " we are Frirends  "
    ret = s.strip() # 去掉左右两端的空格
    print(ret)

      7、ret = s.lstrip()  去掉左边空格

      8、ret = s.rstrip( )   去掉右边空格

      9、ret = s.replace(s1,s2)  把字符串中的s1替换为s2

    s="Are you good men"
    s=s.replace("men","women") 
    print(s) #Are you good women

      注意:字符串不可变,必须重新赋值回去,才能实现真正的替换

      10、s.split(sep) 以sep切割字符串,返回一个列表

    s="Are-you-good-men"
    print(s.split("-")) #['Are', 'you', 'good', 'men']

    三、字符串的格式化输出

    # 格式化输出
    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)

    四、查找

      1、s.tartswith(“字符串”) 判断是否以某字符串开头

    s="you are lucky dog"
    print(s.startswith("you")) #True
    print(s.startswith("are")) #True

      2、s.endswith(“字符串”) 判断是否以某字符串结尾

      3、s.count( "字符串") 查询字符串出现的次数

    s="I Love a girl,she is supergirl"
    print(s.count("i"))

      4、s.find("字符串“) 寻找字符串出现的第一个位置

    s="I Love a girl,she is supergirl"
    print(s.find("i")) #10

      5、s.index("字符串")  查询字符串,并返回第一个的索引

    ret = s.index("girl") # 求索引位置. 注意. 如果找不到索引. 程序会报错
    print(ret)

    五、条件判断

      1、s.isalnum()  是否字⺟和数字组成
      2、s.isalpha()  是否由字⺟组成
      3、s.isdigit()  是否由数字组成, 不包括⼩数点

    # 练习. ⽤算法判断某⼀个字符串是否是⼩数
    s17 = "-123.12"
    s17 = s17.replace("-", "") # 替换掉负号
    if s17.isdigit():
      print("是整数")
    else:
      if s17.count(".") == 1 and not s17.startswith(".") and not s17.endswith("."):
      print("是⼩数")
    else:
      print("不是⼩数")

    六、计算字符串的长度

      s.len("字符串")

    s="I Love a girl,she is supergirl"
    print(len(s)) #30

    7、可迭代

      可以用for循环拿去每一个元素。

    s= "join"
    for i in s:
        print(i)
    结果:
    j
    o
    i
    n



      


      

  • 相关阅读:
    AreEngine 求最小面积的外接矩形,非IEnvelope,表达不清楚了
    获取GeoScene Pro 90天免费试用版
    How to "Activate" a MapFrame in C#
    Arcengine获得模型(工具)是否存在
    ArcGIS Python获得一个数据库所有要素类
    ArcGIS Pro和Geoscene不能同时安装,因为是同一个软件
    Needs to run on the GUI thread解决
    The entity type 'ExtraPropertyDictionary' requires a primary key to be defined.
    Always Encrypted with Azure Key Vault
    Your startup project 'UnitTestNet6' doesn't reference Microsoft.EntityFrameworkCore.Design.
  • 原文地址:https://www.cnblogs.com/angle6-liu/p/9983870.html
Copyright © 2020-2023  润新知