Python笔记_06_字符串相关函数_字符串的格式化format

本文介绍了Python中字符串相关函数,如capitalize、title等用于大小写转换,len计算长度,count统计元素数量等;还阐述了字符串格式化format的多种传参方式,包括顺序、索引、关键字、容器类型传参,以及填充符号和进制转换等特殊符号的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符串相关函数

(函数就是方法的意思,完成某个功能)
语法: 字符串.函数

capitalize 字符串首字母大写
strvar = "this is my world"
res = strvar.capitalize()
print(res)
title 每个单词的首字母大写

(非字母类的就可以让后面字符大写)

strvar = "this is777my###world"
res = strvar.title()
print(res)
upper 将所有字母变成大写
strvar = "abcdFG"
res = strvar.upper()
print(res)
lower 将所有字母变成小写
strvar = "abcdFG"
res = strvar.lower()
print(res)
swapcase 大小写互换
strvar = "aa bbb CCCdF"
res = strvar.swapcase()
print(res)
len 计算字符串的长度

(所有容器类型数据都可以使用len)

strvar = "阿士大夫撒地方撒旦法师打发尽快哈手机看地方撒即可劳动防护"
res = len(strvar)
print(res)
count 统计字符串中某个元素的数量
strvar = "阿士大大夫撒大地方撒旦法师打发尽快哈手机看地方撒即可劳动防护"
res = strvar.count("大")
print(res)
find 查找某个字符串第一次出现的索引位置
find("字符串",start,end) 

从哪里找到哪里结束 高位end取不到
如果find没找到 , 返回-1

strvar = "oh Father This Is mY Favorate girl"
res = strvar.find("F")
res = strvar.find("Father")
print(res)
# 如果有开始,没有结束,默认查找到最后
res = strvar.find("F", 4)
print(res)
res = strvar.find("s", 14, 16)  # -1
print(res)
*index 与 find 功能相同

index index 和 find 用法一样,只不过如果找不到直接报错

strvar = "oh Father This Is mY Favorate girl"
res = strvar.index("!") #ValueError: substring not found
*starts with 判断是否以某个字符或字符串为开头

startswith("字符串",start,end) 高位end 取不到

strvar = "oh Father This Is mY Favorate girl"
res = strvar.startswith("oh")
res = strvar.startswith("oh", 3)
print(res)
endswith 判断是否以某个字符或字符串结尾

endswith("字符串",start,end) 高位end 取不到

strvar = "oh Father This Is mY Favorate girl"
res = strvar.endswith("rl")
res = strvar.endswith("s", 5, 14)
res = strvar.endswith("r", -6, -1)
print(res)
isalpha 判断字符串是否由字母或文字组成
strvar = "sfsdfsdf234234"
strvar = "sfsdfsdf是你"
res = strvar.isalpha()
print(res)
isdigit 检测字符串数是数字组成

接受二进制字节流

strvar = "1312312313"
res = strvar.isdigit()
print(res)

strvar = b'12345'
print(strvar, type(strvar))
res = strvar.isdigit()
print(res)
isdecimal 检测字符串是否以数字组成

必须是纯数字

strvar = "777889"
# strvar = b'12345' error
res = strvar.isdecimal()
print(res)
split 按某字符将字符串分割成列表

(默认字符是空格)

strvar = "you can you up no can no bb"
res = strvar.split()  # 默认按照空格分隔
print(res)
strvar = "you:can:you:up:no:can:no:bb"
res = strvar.split(":")
# 可以接受2个参数 , 第二个参数意味着分隔几次(从左到右)
res = strvar.split(":", 3)
# 可以反向分隔 rsplit (从右向左)
res = strvar.rsplit(":", 2)
print(res)
join 按某字符将列表拼接成字符串

(容器类型都可)

lst = ['you', 'can', 'you', 'up', 'no', 'can', 'no', 'bb']
res = '+'.join(lst)
res = '|'.join(lst)
res = ' '.join(lst)
print(res)
center 填充字符串,原字符居中

(默认填充空格)

strvar = "你好"
res = strvar.center(10, "!")  # 可以选择要填充的符号
res = strvar.center(10)  # 如果不写默认填充空格
print(res)
strip 默认去掉首尾两边的空白符

(空格 \n \t \r\n)

strvar = "\t 大妹子真漂亮  \n   "
print(strvar)
res = strvar.strip()
print(res)
replace()替换字符

replace("原字符串","要替换的字符串",[可选择替换几次])

strvar = "可爱滴小狼狗喜欢吃肉,有没有,有没有,还有没有"
res = strvar.replace("有没有", "真没有")
print(res)
res = strvar.replace("有没有", "真没有", 1)
print(res)

字符串的格式化format

语法: {} 来进行占位
顺序传参
strvar = "{}给{}一个飞吻".format("罗婷", "黄熊大")
print(strvar)
索引传参
strvar = "{1}向{0}开了一枪,饮弹而亡".format("王思杰", "将周良")
print(strvar)
关键字传参
strvar = "{hjy}对{zyw}进行扫射,鸡飞狗跳,狗急跳墙".format(zyw="张耀文", hjy="黄将用")
print(strvar)
容器类型传参
  1. 一般容器

    strvar = "{0[1]}向{1[1]}发了一份情书和一张私人照片,鼻血直冒三万英尺".format(
        ["黄一政", "刘五星", "熊卫华"], ("素江南", "陈浩"))
    print(strvar)
    
  2. 字典
    场景发生在format字符串格式化当中, 主要通过键取值时,不要加上引号

    strvar = "{group1[1]}向{group2[sjn]}发了一份情书和一张私人照片,鼻血直冒三万英尺"
    res = strvar.format(
        group1=[
            "黄一政",
            "刘五星",
            "熊卫华"],
        group2={
            "sjn": "素江南",
            "ch": "陈浩"})
    print(res)
    
format的填充符号的使用( ^ > < )

^ : 原字符居中
> : 原字符串居右
< : 原字符串居左

{who:*<10}
who: 关键字
* : 代表要填充的字符
< : 原字符串居左
10 : 原字符 + 要填充的字符串 一共10个

strvar = "{dic[who]:*^10}在长春长生{dic[something]:>>10},心情{dic[feel]:!<10}"
res = strvar.format(dic = {'who':"潘伟成",'something':"扎一打疫苗",'feel':"爽歪歪"})
print(res)
进制转换等特殊符号的使用( :d :f : s :, )
  1. :d 整型占位符

    strvar = "姚承政买了{:d}个兰博基尼"
    res = strvar.format(10)
    print(res)
    # :3d
    strvar = "姚承政买了{:3d}个兰博基尼"
    res = strvar.format(10)
    print(res)
    # :^3d
    strvar = "姚承政买了{:<3d}个兰博基尼"
    strvar = "姚承政买了{:>4d}个兰博基尼"
    strvar = "姚承政买了{:^4d}个兰博基尼"
    res = strvar.format(10)
    print(res)
    
  2. :f 浮点型占位符

    strvar = "许经雄体重是{:.2f}斤"
    res = strvar.format(98.943333)
    print(res)
    
  3. : s 字符串占位符

    strvar = "{:s}"
    res = strvar.format("好看的皮囊千篇一律,有趣的灵魂200多斤")
    print(res)
    
  4. :, 金钱占位符

    strvar = "{:,}"
    res = strvar.format(1234567)
    print(res)
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值