前言
这章主要会介绍一些字符串的方法,有些也都很奇怪,但能帮助我们,当然不可能都记得所有的方法,可以多看看多查查
一、字符串的使用
关于创建和访问字符串我们前面的章节已经讲过了
那要更新其实和元组一样,其实是通过拼接就字符串得到新字符串的方式,并不是真正意义上的改变字符串,也就是说,只是换了个标签,把新的字符串贴上原来的标签,那我们旧的字符串其实还在,只是没有标签,那过会呢垃圾回收机制就会把旧的没有标签的字符串删除。这都是我们python机制自己去操作的,我们不用去操心
另外像比较字符 > < =
逻辑操作符 and or not这种列表和元组都是一样的
还有成员操作符in not in 在字符串的使用和在列表和元组的操作都是一样的
后面我们会再去将序列,其实这三样(元组、列表、字符串)都是属于序列。
列表和元组都有自己的方法,元组比较固执,所以方法比较少,而列表很灵活,就很多,那可能大家已经知道列表的方法很多了
但是其实字符串的方法更多,虽然字符串和元组一样被固定下来就不能改变,但是字符串却是有很多方法,因为字符串在日常的使用是很常见的
二、字符串的方法
而且很多方法看上去都奇奇怪怪的,那一起去看这些奇怪的方法吧~
方法 | 描述 |
---|---|
capitalize() | 字符串第一个字母变成大写 |
casefold() | 把整个字符串的所有字符都变小写 |
center(width) | 将字符串居中,并使用空格填充至长度width的新字符串 |
count(sub[,start[,end]]) | 返回 sub 在字符串里边出现的次数,start和end参数表示范围,可选 |
encode(encoding = ‘utf-8’,errors=‘strict’) | 以encoding指定的编码格式对字符串进行编码 |
endswith(sub[,start[,end]]) | 检查字符串是否以sub字符串结束,如果是返回true,否则返回false。start和end参数表示范围,可选 |
expandtabs(tabsize = 8) | 把字符串中的tab符号(\t)转换为空格,如不指定参数,默认的空格数是tabsize=8(8个空格会带字符) |
find(sub[,start[,end]]) | 检查sub是否包含在字符串中,如果有则返回索引值,否则返回-1,start和end表示范围,可选 从左往右 |
index(sub[,start[,end]]) | 和find方法一样,不过如果sub不在就抛出异常 从左往右 |
rfind(sub[,start[,end]]) | 从右往左 |
rindex(sub[,start[,end]]) | 从右往左 |
Isainum() | 如果字符串至少有一个字符并且所有字符都是字母或数字则返回true,否则false |
isalpha() | 如果字符串至少有一个字符并且所有字符都是字母则返回true,否则返回false |
isdecimal() | 如果字符串只包含十进制数据则返回true,否则返回false |
isdigit() | 如果字符串只包含数字则返回true,否则返回false |
islower() | 如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回true,否则返回false |
isnumeric() | 如果字符串中只包含数字字符,则返回true,否则返回false |
isspace() | 如果字符串中只包含空格,则返回true,窦泽返回false |
istitle() | 如果所有字符串都是标题化(所有单词的首字母大写,其余小写),则返回true,否则返回false |
isupper() | 如果字符串中至少包含一个一个区分大小写的字符,并且这些字符都是大写,则返回true,否则false |
join(sub) | 以字符串为分隔符,插入到sub中所有的字符之间 |
ljust(width) | 返回一个左对齐的字符串,并使用空格填充至width的新字符串 |
lower() | 转换字符串中所有大写字符为小写 |
lstrip() | 去掉字符串左边的所有空格 |
partition(sub) | 找到字符串sub,把字符串分成一个3元组(pre_sub,sub,fol_sub),如果字符串中不包含sub则返回(‘源字符串’,‘’,‘’) |
replace(old,new[,count]) | 把字符串中的old字符串替换成new字符串,如果count’指定,则替换不超过count次数 |
rjust(width) | 返回一个右对齐的字符串,并使用空格填充至长度为width的新字符串 |
rpartition(sub) | 和partition一样,只不过从右边开始查找 |
rstrip() | 去掉字符串右边的所有空格 |
split(sep=None,maxsplit=-1) | 不带参数默认是以空格为分隔符切片字符串,如果maxsplit参数有设置则仅分割maxsplit个字符串,返回切片后的字符串拼接的列表 |
strip([chars]) | 删除字符串前边和后边的所有空格,chars参数可以定制删除的字符,可选 |
startswith(prefix[,start[,end]]) | 检查字符串是否以prefix字符串结束,如果是返回true,否则返回false。start和end参数表示范围,可选 |
swapcase() | 翻转字符串中的大小写 |
title() | 返回标题化 |
translate(table) | 根据table的规则(可以由str.maketrans(‘a’,‘b’)定制)转换字符串中的字符串 |
upper() | 转换字符串中的所有小写字符为大写 |
zfill(width) | 返回长度为width的字符串,原字符串右对齐,前边用0填充 |
那要注意一下其实这样都是生成一个新的字符串,原来的那个字符串并没有被改变
三、方法实例
为了帮助理解,可以看下以下几个实例
列举了几个:
-
capitalize():
-
expandtabs():
-
join理解:123被 str1分开了
-
lstrip:去掉曲面的空格
-
partition:
-
replace:
-
split:像切蛋糕一样,切成列表了
那如果说我给他带个参数
同样ok -
strip:
然后给他个参数
-
swapcase:
-
translate: