1.7.2字符串

字符串

字符串:
string, 一种基本的数据类型

​ 也属于一种容器, 可以放入数据, 是str类型

​ 字符串一旦被创建就不能被修改, 除非赋予新的字符串

  • 字符串拼接

    # 1.字符串拼接, 使用+号拼接, 使用占位符拼接, 使用format()函数拼接
    s = "你好!" + "马云" + "花呗我不想还了!"
    print(s)
    # %s 通用占位符, %d 拼接整型, %f 拼接浮点型
    string = "%s: %dcm, %s: %.1fkg" % ("身高", 226, "体重", 122.5)
    print(string)
    # format()函数拼接
    strings = "好好学习, {}向上".format("年年")
    str1 = "{name}: 好好学习, {time}向上".format(time="月月", name="王翠花")
    
    name = input("请输入您的姓名: ")
    time = input("请输入一个时间量词: ")
    str2 = f"{name}: 好好学习, {time}向上"
    print(strings)
    print(str1)
    print(str2)
    
  • 字符串取值

    # 2.字符串的取值, 字符串也是有索引的, 类似列表, 从0开始
    str3 = "山重水复疑无路, 柳暗花明又一村."
    w = str3[1]     # 在字符串变量后边写[] 里面填索引
    print(w)
    print(str3[7])
    print(str3[8])
    # 3.字符串切片.[开始位置(默认为0):结束位置(默认是字符串最大的索引值+1)] 取左不取右, rang(), 结尾数字取不到. 左闭右开, 取前不取后.
    # 切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作 。
    # 切片的语法:[起始:结束:步长] # 注意:选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束( 不包含结束位本身)。
    s = str3[:4]
    s1 = str3[4:]
    s2 = str3[9:13]
    print(s)
    print(s1)
    print(s2)
    
  • 字符串常用函数

    # 4.len(): 计算容器的长度
    length = len(str3)
    print(length)
    # 5.index()函数: 返回字符串中元素的索引值.如果该元素存在多个, 返回第一个元素的索引, 如果要查询的元素不存在则会报错: ValueError: substring not found
    # 第一个参数: 是目标字符串, 第二个参数, 匹配的开始索引, 第三个参数: 匹配的结束索引
    string1 = "年年岁岁花相似, 岁岁年年花不同"
    y = string1.index("花", 6, 15)
    # s = string1.index("就")
    print(y)
    # print(s)
    # 6.count()函数: 计算字符串中元素的个数
    c = string1.count("年")
    print(c)
    # 7.find()函数: 返回索引值, 在字符串匹配第一个字符
    # 括号中第一个参数填元素值, 第二个查询的起始位置, 第三个填查询的结束位置
    print("--------------------")
    f = string1.find("相似,")
    b = string1.find("不")
    # 如果在这个范围内没有这个元素则返回-1
    # 如果在这个范围内有这个元素,或者有多个返回第一个元素的索引值
    y = string1.find("年", 5, 15)
    print(f)
    print(b)
    print(y)
    # TypeError: string indices must be integers
    s = string1[1:6:2]  # 切片查询, 跳查询, 第三个参数是步长, 每隔几个元素取一个元素
    print(s)
    
    
  • 字符串处理函数

    # 8.upper(): 让字符串中小写的字母变成大写,  lower(): 让字符串中大写的字母变成小写.
    string2 = "life is short, You need python"
    result = string2.upper()
    print(result)
    res = result.lower()
    print(res)
    # 9.strip(): 当括号中没有填参数默认去掉首位的空格, 可以去掉字符串首尾的符号
    s3 = "  飞流直下三千尺 - 疑是银河落九天.   "
    res = s3.strip()
    print(res)
    res = res.strip(".")
    print(res)
    res = res.strip("天")
    print(res)
    # 10.replace(): 第一个参数填要被替换的元素, 第二个参数填替换的新的元素, "" 或者 '' 空字符串
    # 如果函数返回值还是原来类型, 就可以在结尾调用其他的函数
    res = s3.replace("直", " ").replace("千尺", "万丈").strip()
    print(res)
    # 11.split(): 分割字符串, 括号中填用来分割的字符, 分割结果返回一个列表.
    s3 = "熊大, 熊二, 吉吉国王, 光头强, 萝卜头, 肥波, 毛毛, 翠花"
    res = s3.split(", ")
    print(res)
    # 12.join(): 可以起到拼接字符串的作用, 括号中是可迭代的数据, 如字符串,列表
    # TypeError: can only join an iterable(迭代)
    j = "".join("字符串")
    print(j)
    print(type(j))
    l = ",".join(['熊大', '熊二', '吉吉国王', '光头强', '萝卜头', '肥波', '毛毛', '翠花'])
    print(l)
    
    print("明日复明日,明日何其多".replace("日", "年"))
    
    s = "明日复明日,明日何其多"
    
  • 补充函数(不常用)

    # title	把字符串每个单词的首字母大写
    a = "hello world"
    print(a.title())
    
    # startswith	检查字符串是否是以某个字符串开头, 是则返回True, 不是返回False
    a = "https://www.baidu.com" 
    if a.startswith("https"): 
        print("是https协议") 
    else:
        print("不是https协议")
    
    # endswith	检查字符串是否是以某个字符串开头, 是则返回True, 不是返回False
    a = "https://www.baidu.com" 
    if a.endswith("com"): 
        print("com网页") 
    else:
        print("其他网页")
    
    # lower	转换字符串中所有大写字母为小写
    a = "Hello World"
    print(a)
    
    # upper	转换字符串中小写字母为大写
    a = "hello world"
    print(a)
    
    # center	文本居中, 两端填充指定个数的指定字符串
    name = "至尊宝"
    name = name.center(8, "*")
    print(name)
    
    # isalpha	如果字符串所有字符都是字母	则返回True, 否则返回False
    a = "hello"
    if a.isalpha():
        print("是字母")
    else:
        print("不是字母")
    
    # isdigit	如果字符串只包含数字则返回True否则返回False
    a = "123456"
    if a.isdigit():
        print("是数字")
    else:
        print("不是数字")
    
    # isalnum	如果字符串都是字母或者数字则返回True, 否则返回False
    a = "asdfghjkl741852963"
    if a.isalnum():
        print("是字母数字混合")
    else:
        print("不是数字字母混合")
    
    # isspace	如果字符串中包含空格, 则返回True, 否则返回False
    a = "	"
    if a.isspace():
        print("是空格")
    else:
        print("不是空格")
    
    # join	字符串中每个字符后面插入str, 构造出一个新的字符串
    a = ""
    print(a.join(['a', 'b', 'c', 'd']))
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值