• 006python-字符串的使用


    1.字符串

    字符串简称“str”,全程“interesting

    2.字符串的形成

    成对的单引号、双引号、三引号的内容括起来的都是字符串,如:
    1. a = 'hello'
    2. b = "666"
    3. c = '''0.001'''
    4. e = '测试'
    5. f = "@"
    6. g = "" #可以存在空字符串

    3.type()函数:

    利用type()函数判断数据类型  ,打印结果,看class后面的内容
    1. a = 'hello'
    2. b = "666"
    3. c = '''0.001'''
    4. e = '测试'
    5. f = "@"
    6. print(type(a))
    7. print(type(b))
    8. print(type(c))
    9. print(type(e))
    10. print(type(f))

    4.字符串里面的元素

    字符串中的单个字母 数字 汉字 单个字符 都称之为一个元素

    5.len()函数

    len() 函数统计数据的长度,即len(数据)=>print(len(s)),打印结果为数字是数据的长度
    1. g = "hello!"
    2. print(len(g))

    6.字符串取值:字符串名[索引值]

    (1)索引(字符串取单个值):
    (1-1)正序从0开始标记,如下以s=hello!为例:
        字符串:h  e  l  l  o  !
        索引值:0  1  2  3  4  5
    练习:取字符串中的!,如下:
    
    1. s = "hello!"
    2. print(s[5])
    (1-2)倒序从-1开始标记,如下以s=hello!为例:
        字符串:h    e    l     l     o     !
        索引值:-6   -5   -4    -3    -2    -1
    练习:取字符串中的!,如下:
    
    1. s = "hello!"
    2. print(s[-1])
    (2)切片(字符串取多个值):字符串名[索引头:索引为:步长],步长默认为1,取值规则->取头不取尾
    (2-1)
        字符串:h  e  l  l  o  !
        索引值:0  1  2  3  4  5
    
    1. s = "hello!"
    2. print(s[1:5:1])
    3. print(s[1:5]) #步长默认值为1,所以s[1:5:1] = s[1:5] ;
    (2-2)
        字符串:h    e    l     l     o     !
        索引值:-6   -5   -4    -3    -2    -1
    
    1. s = "hello!"
    2. print(s[-5:-1:1])
    3. print(s[-4:-1])
    (3)切片的其他用法:
    
    
    1. s = "hello!"
    2. print(s[:]) #表示正无穷到负无穷,取全部值
    3. print(s[:4]) #表示负无穷到4,取头不取尾
    4. print(s[2:]) #表示2到正无穷,取全部值
    5. print(s[2:4:2]) #表示索引值从2开始,到4结束,步长是2,取值l和o,但是根据取头不取尾原则,只能取l
    小题目:请利用切片倒序输出s=hello!的值,输出结果为!0lleh。
    
    1. s = 'hello!'
    2. print(s[::-1])
    3. print(s[-1:-7:-1])

    7.字符串切割

    (1)字符串.split(可以指定切割符号,切割次数)
    (2)返回一个列表类型的数据,列表烈面的子元素都是字符串类型
    (3)指定的切割符,被切走了,不展示
    (4)练习如下:
    
    1. s = " hello!" #字符串有空格和hello!组成
    2. print(s.split(" ")) #指定空字符串为切割符
    3. t = 'h8e8l8l8o8!'
    4. print(t.split('8'))
    5. print(t.split('8', 3))
    6. y = 'he8888llo!'
    7. print(y.split('8'))

    8.字符串替换

    字符串的替换:字符串.replace('指定替换值','替换新值',替换次数)
    
    1. s = 'hello!'
    2. new = s.replace('l', '@', 1) #将替换后的值赋予一个新的变量
    3. print(new)
    4. h = '8888'
    5. k = h.replace('8', '6', 2)
    6. print(k)

    9.字符串去除

    字符串的去除:字符串.strip(指定字符)
    (1)默认去掉空格
    (2)指定字符只能去掉头和尾
    (3)练习如下:
    
    1. a = ' hel lo! '
    2. print(len(a))
    3. b = a.strip()
    4. print(b)
    5. print(len(b))
    6. c = '666hel666lo!666'
    7. d = c.strip('6')
    8. print(d)

    10.字符串拼接

    字符串的拼接:使用 + 进行拼接,需要保证 + 左右两边的变量值一致
    
    1. a_1 = 'hello!'
    2. a_2 = '外星人'
    3. a_3 = 666
    4. print(a_1 + a_2)
    5. print(a_1, a_2) #变量中间使用逗号输出不是拼接,是轮流输出每个变量
    print(a_1 + a_2 +a_3)
    报错:TypeError: can only concatenate str (not "int") to str ——>不能够把一个整数和字符串进行拼接运算
    报错原因:字符串拼接,+ 左右两边的变量值类型必须一致,变量a_1,a_2属于字符串,变量a_3属于整数,所以拼接时会报错
    解决报错的方法:
    (1)将变量a_3整数变为字符串,即:
    
    1. a_4 = '666'
    2. print(a_1 + a_2 + a_4)
    (2)拼接输出时将整数强制转换成字符串 ——> str(a_3),即:
    
    print(a_1 + a_2 + str(a_3))
      除了以上方式,想要将变量值一起输出,可以使用拼接和轮流输出的方式,即:
    
    print(a_1 + a_2, a_3)

    11.格式化输出

    1. age = 28
    2. name = "暖暖"
    3. score = 99.88
    4. print("测试工程师"+ name + "今年" + str(age) + "岁!")
    以上输出用到的是拼接和字符串强制转换实现的们也可以使用拼接和轮流输出的形式实现,但是现实工作中这种实现方式过于繁琐,为了解决该问题,引出了格式化输出
    (1).格式化输出 方式一:format ,特点是{},用{}来占位置
    
    print("测试工程师{0},今年{1}岁!".format(name, age))  # 注意:format前面是英文句号“.”;
    (2)格式化输出 方式二:%  %s字符串,%d数字,%f浮点数
    %s 可以填任何数据,%d 只能天数字、整型、浮点数,%f可以填数字
    
    1. print("测试工程师%s,今年%d岁!评测得分%f。" % (name, age, score))
    2. print("测试工程师%s,今年%d岁!评测得分%.2f。" % (name, age, score)) # 在%f中间加 .2 表示保留两位小数

  • 相关阅读:
    【System】系统编程基础:编译和链接
    使用vue-cli搭建vue项目
    Spring之SpringContext
    测试平台系列(92) 让http请求支持文件上传
    Python 操作mongodb库
    技术学习:Python(05)|操作XML
    AR Engine光照估计能力,让虚拟物体在现实世界更具真实感
    fseek 写操作定位无效问题
    VisualStudio2017社区版安装完毕后,找不到stdio.h等头文件的解决方案
    Java(三)--高级特性概览
  • 原文地址:https://blog.csdn.net/weixin_47481102/article/details/125880850