笔记目录
- 字符串相关函数
- capitalize 字符串首字母大写
- title 每个单词的首字母大写
- upper 将所有字母变成大写
- lower 将所有字母变成小写
- swapcase 大小写互换
- len 计算字符串的长度
- count 统计字符串中某个元素的数量
- find 查找某个字符串第一次出现的索引位置
- *index 与 find 功能相同
- *starts with 判断是否以某个字符或字符串为开头
- endswith 判断是否以某个字符或字符串结尾
- isalpha 判断字符串是否由字母或文字组成
- isdigit 检测字符串数是数字组成
- isdecimal 检测字符串是否以数字组成
- split 按某字符将字符串分割成列表
- join 按某字符将列表拼接成字符串
- center 填充字符串,原字符居中
- strip 默认去掉首尾两边的空白符
- replace()替换字符
- 字符串的格式化format
字符串相关函数
(函数就是方法的意思,完成某个功能)
语法: 字符串.函数
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)
容器类型传参
-
一般容器
strvar = "{0[1]}向{1[1]}发了一份情书和一张私人照片,鼻血直冒三万英尺".format( ["黄一政", "刘五星", "熊卫华"], ("素江南", "陈浩")) print(strvar)
-
字典
场景发生在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 :, )
-
: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)
-
:f 浮点型占位符
strvar = "许经雄体重是{:.2f}斤" res = strvar.format(98.943333) print(res)
-
: s 字符串占位符
strvar = "{:s}" res = strvar.format("好看的皮囊千篇一律,有趣的灵魂200多斤") print(res)
-
:, 金钱占位符
strvar = "{:,}" res = strvar.format(1234567) print(res)