「这是我参与2022首次更文挑战的第3天,活动详情查看:2022首次更文挑战」
1. 定义
单,双,三引号引住的字符序列,不可变类型,支持索引,可遍历,不可修改
2. 操作
由于字符串是不可变对象,所以不可以增删改
- 伪增
# 使用s进行字符串拼接,可迭代对象本身为字符串,只有一个元素时不拼接
's'.join(iterable) => new str
# 常与map函数结合使用,map为映射函数,将range(9)映射为字符串
"..".join(map(str, range(9)))
# 将两个字符串拼接在一起,返回新的str
str1 + str2 => new str
- 伪改
# 将字符串中的old替换成new字符,未找到old,则返回新的原字符串
# count表示替换次数,默认全部替换
str.replace(old, new[,count]) => new str
# 去除字符串两端的空白字符,也可指定字符
str.strip() => new str
- 查
# 从[start,end)中查找sub元素,找回则返回其索引,没有则返回-1
# .rfind()从右向左查找
str.find(sub[,start[,end]]) => index
# 从[start,end)中查找sub元素,找回则返回其索引,没有则ValueError
str.index(sub[,start[,end]) => index
# 返回sub的次数
str.count(sub[,start[,end]]) => sub次数
# 在[start, end)区间内是否以str开头,结尾
str.endwith(str[,start[,end]]) => bool
str.startwith(str[,start[,end]]) => bool
# 获取字符串长度
len(str) => 字符串长度
3 其他操作
- 字符串分割
# 按照sep指定分割字符串,默认未空白字符, maxsplit最大分割次数,默认为1
# 切掉分割字符串
str.split(sep=None, maxsplit=1) => list of string
# 遇到sep就把字符串分为两部分,返回头,分隔符,尾组成的元组
# 如果未找到sep,返回头,两个空元素的三元组,
# 加r从右向左切
str.partition(sep) => (head, sep, tail)
- 字符串格式化简要版
1.占位符
# %s占位字符串,%占位数字
"My name is %s, %d, %s, %s"%('meng', 30, 40, 'abc')
2.format
"{}".format(*args, **kwargs)
3.f-string
x, y = 3, 4
s1 = f"{x}->{y}"
=> "3->4"