字符串
-
不可变对象
-
Unicode类型
-
a = r'sssssssss '
r/R表示其后面引号中所有字符为字符串中字符
-
可迭代
-
str.join方法 ---- 输出结果为新字符串
str.join() 括号中只接受字符串类型,可迭代对象
a = 'abcd' b = ','.join(a) lst = ['1','2','3']
c = 'a'.join(lst)
b = 'a,b,c,d'
c = '1a2a3'
```python
print('
'.join(lst))
1
2
3
- str.count() 输出结果为整型,子串在原字符串中出现的次数
字符串的分割
- str.split(seq = None,maxsplit = -1) ---- 将字符串按照分隔符分割成若干字符串,并返回列表
- seq指定分割字符串,缺省情况默认空白字符串作为分隔符(空白字符+,就是包括空格,tab等连在译器都是空白字符),切割后分隔符消失
- maxsplit 指定分割次数,-1 表示遍历整个字符串,一次切成两段
- str.rsplit()从右往左切,输出列表顺序为原来顺序,不会反转
- str.splitlines([keepends]) 按换行符 换行,[True]表示保留换行符
- str.partition(sep) ---(head,sep,tail) 将字符串按照分隔符分成两段,返回这两段和分隔符的元组.
- sep为分隔符,找到第一个分割符后返回头,尾,分隔符三部分;若没找到分隔符,返回,字符串,两个空元素的三元组.
- 不给定分隔(或给一个空值)符报错,
- str.rpartition(),从右到左切割,若无分隔符,输出两个空值加原字符串组成的三元组
字符串大小写
-
str.upper() 全大写
-
str.lower() 全小写
-
str.swapcase() 大小写互换
字符串的修改
-
str.replace(old,new[,count]) 返回新字符串
-
字符串中找到 匹配子串替换为新字符串,返回新字符串
-
count表示 替换 几次,默认全部替换
-
-
str.strip([chars]) 返回新字符串,
- 默认除去两侧空格
- 括号内字符会依次被从两侧去掉
- str.lstrip() 去左边
- str.lstrip() 去右边
字符串的查找(O(n))
-
str.find(sub[,start[,end]]) 返回整型,在指定区间内[start,end)由左到右查找子串sub,找到返回值为字串第一个字符的索引,没找到返回 -1,
-
str.rfind(sub[,start[,end]]) 返回整型,在指定区间内[start,end)由右到左查找子串sub,返回值为字串第一个字符的索引,没找到返回 -1,
-
str.index(sub[,start[,end]]) 返回整型,在指定区间内[start,end)由左到右查找子串sub,返回值为字串第一个字符的索引,没找到报ValueError
-
str.rindex(sub[,start[,end]]) 返回整型,在指定区间内[start,end)由右到左查找子串sub,返回值为字串第一个字符的索引,没找到报ValueError
-
str.count(sub[,start[,end]]) 返回整型,在指定区间内[start,end)由左到右查找子串出现的次数,返回值次数,没有返回0
字符串的判断
-
str.endswith(suffix[,start[,end]]) 判断在指定区间[start,end)内,字符串是否以suffix结尾,返回值为布尔值,前提始末位置要包含子串
-
str.startswith(prefix[,start[,end]]) 判断在指定区间[start,end)内,字符串是否以prefix开头,返回值为布尔值,前提始末位置要包含子串
字符串的格式化
'i like %03d' %(20,) 后面的%后接单值,元组或者字典,0表示不足的用0部位,3表示共三位
"{}{名称}".format(*args,**kwargs) --- 输出字符串,
args是位置参数 ,是一个元组
kwargs是关键字参数,是一个字典,与{}中关键字匹配
{{}}表示打印花括号
'{0}*{1}={2:< 02}'.format(3,2,2 * 3) 默认右对齐
3为0位,2为1位,:<为左对齐,0为0补充占位,^为居中,*为填充
'{:*^30}'.format('centered')
^为居中,*为填充
进制
'int:{0:d};hex:{0:#x};oct:{0:#o};bin:{0:#b}'.format(42)
'int:42;hex:0x2a;oct:0o52;bin:0b101010'
![](D:python课后题笔记图片格式化字符串 02.jpg)
f'{}'f让{}内的字符串变成了变量名
f'{s:*^10}' *补位符,^居中,共十位
f'{x:.5f}' 小数点后5位