文章目录
一、编码转换
默认编码为utf-8,汉字占三字节
str.encode([encoding="utf-8"][,errors="strict])
bytes.decode([encoding="utf-8"][,errors="strict"])
会创建一个副本
二、常用操作
1、拼接
直接+
2、计算长度
len(string)
返回占的字符数(非字节)
len(str1.encode())
算utf-8编码的字节数
3、截取字符串(切片slice)
string[start:end:step]
索引不存在会报错
4、分割与合并
str1.split(sep,maxsplit)
sep默认为None,用于指定分隔符
如sep=‘>>>’ (以多个字符为分割点)
maxsplit为分割次数,若不指定或设置为-1,则不限次数。
返回分割后的字符串(形成列表了)
没有得到内容的,则返回一个空元素
仅仅split()
则去除空格,以空格分
strnew=string.join(iterable)
string表示以此为分隔符连接起来
iterable表示可迭代对象,将其中元素(字符串)拼起来
5、访问
(1)count
str1.count(sub[,start[,end]])
检测sub从str的start到end的出现次数
(2)find
str1.find(sub[,start[.end]])
判断是否出现过,返回-1or首次出现时的索引
所以可以用返回值是否大于-1判断是否存在,也可用in判断
rfind():从右边开始找
(3)index
str1.index(sub[,start[,end]])
与find类似,但若检测不到会报错
rindex从右边开始找
(4)startswith()
用于检索是否以指定子字符串开头
str1.startswith(prefix[,start[,end]])
prefix为子字符串
(5)endswith()
是否以xxx结尾
6、大小写转换
str1.lower()
str1.upper()
返回转变后的字符串
7、去除前后字符
str1.strip([chars])
chars表示字符,可以是多个。默认去除空格、\n、\t、\r等
如`str2.strip(‘@.’)则去除前后的@和.
rstrip和lstrip也存在
8、格式化字符串
(1)%
略
(2)format()
str1.format(args)
str1表示显示模板
args即要指定转换项
str1里含有{[index][:[fill]align][sign][#][width][.precision][type]]}
与args里的项对应
详见课本P122
另:查阅此博客
这个博客写的比较全,包括对数字的格式化
如