Python基础:十七、str 字符串

str字符串(储存少量数据)

1. 把字符连成串,在python中用',",''',"""引起来的内容被称为字符串

2. 索引:索引就是下标,从0开始

3. 用 [] 进行索引

strExample='hello world'
print(strexample[0])  #打印了字符串的第一个字符 h
print(strexample[5])  #打印了字符串的第6个字符 空格

4. 切片

  a. 我们可以使用下表来截取部分字符串的内容

  b. 语法:str[start:end]

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

strExample='hello,my name is joe'
print(strExample[0:3])     #截取了字符串的第一到第三个字符,但索引为3但字符没有截取
print(strExample[5:20])   #如果超出了字符串但范围,就截取到字符串最后一个字符
print(strExample[-1:-5])  #从最后一位开始取,但是字符串只能从左往右取,所以什么都取不到
print(strExample[-5:-1])  #从倒数第五个开始往后取,取到倒数第一个,但倒数第一个取不到
print(strExample[-5:])     #从倒数第五个往后取,如此便能取到最后一个(不写结束的值,意思为直接取到最后)
print(strExample[:5])      #从第一个开始取,取到第五个(不写开始的值,意思为从开始取)
print(strExample[:])        #从头取到尾

  d. 跳着取,存在步长的写法:

     步长:如果是正数,则从左往右取,如果是负数,则从右往左取,默认是1

    切片语法:str[start:end:step]

           start:起始位置

           end:结束位置

           step:步长

strExample='abcdefghijklmn'
print(strExample[1:6:2])  #从第二个数开始取到第六个数,每两个字符取一次,取这两个的左边的
print(strExample[1:6:-2]) #这样取不到数字
print(strExample[6:1,-2])  #将索引反向写,才能反向取到
print(strExample[-6::-1])#反向取到最前面
print(strExample[6::-1])   #反向取到最前面 

5. 字符串是可迭代对象

s = "abcdefg"
for i in s:
    print(i)
#输出结果为:a、b、c、d、e、f、g

6. 字符串常用方法:

  1) captalizeswapcase、title

      str.captalize()  #首字母大写

      str.swapcase()   #大小写翻转

      str.title()      #每个隔开的(被特殊字符或数字隔开)单词的首字母大写

  2) upper、lower

      str.upper()  #全部字母大写

      str.lower()  #全部字母小写

  3) center

      str.center(长度,“用于填充的字符”)

      #将给定字符串扩充到给定长度,并居中,然后用给定字符填充空白部分

  4) expandtabs

      str,expandtabs()

      #如果字符串中有 \t 则自动将其转化为 tab键

      #从 \t 到最前,如果没有八个字符,则补充到8个8的倍数

  5) count

      str.count("给定元素",数字1,数字2),也可以用在列表中

      #计算字符串中的给定元素数量,可以按照数字1、数字2的位置来切片,然后统计

  6) startswith、endswith

      str.startswith("给定字符串",数字1,数字2)  #判断字符串是否以给定字符串开头,可以切片后再判断,返回值为bool值

      str.endswith("给定字符串",数字1,数字2)    #判断字符串是否以给定字符串结尾,可以切片后再判断,返回值为bool值

  7) find

      str.find("给定元素",数字1,数字2)

      #寻找字符串中是否有给定元素,可以切片后再寻找

      #如果能找到,返回值是元素的索引;如果找不到,返回值是 -1

  8) index

      str.index("给定元素",数字1,数字2)

      #寻找字符串中是否有给定元素,可切片后再寻找

      #如果能找到,返回元素的索引;如果找不到,报错

  9) split

      str.split("给定字符")

        #以给定字符分割字符串(默认为空格),得到一个list

        #得到的list中不含给定用于分割的字符

      str.split("给定字符",数字)

        #以给定字符分割字符串,得到一个list

        #只分割给定数字次字符串,当分割次数达到时,后面无论有多少可以分割的,都不继续分割

  10)strip

      str.strip("给定字符")

        #消除字符串中的给定字符,左右都删

        #输入参数可以为空,默认为空格

  11) lstrip、rstrip

      str.lstrip()  str.rstrip()

      #删除字符串左边、右边的特定字符

  12) format

      str.format(用于输出的元素)

        #按顺序填

        #str中用{}占位

      "{0},{1},{2},{0}".format(用于输出的元素1,用于输出的元素2,用于输出的元素3)

        #在占位的{}中加上索引,可多次使用format后的元素(按索引位置引用)

      "{key1},{key2},{key3},{key2},{key1}".format(key1=值1,key2=值2,key3=值3)

        #按key进行索引,可以不按顺序进行排列

  13) replace

      str.replace(old,new,count)

      #将字符串中的old元素替换为new

      #默认全部都替换,可以用count控制替换次数

  14) is系列

      str.isalnum()  #判断字符串是否由字母或数字组成,返回bool

      str.isalpha()  #判断字符串是否只由字母组成,返回bool

      str.isdigit()  #判断字符串是否只由数字组成,返回bool

  15) len

      len(str)

      #计算字符串的长度(字符数量)

      #len() 是一个公用方法,其他数据类型也能使用

猜你喜欢

转载自www.cnblogs.com/joetan/p/10802168.html
今日推荐