定义
一个个字符组成的有序的序列,是字符的集合
使用单引号、双引号、三引号
字符串是不可变对象
Python3起,字符串就是Unicode类型
字符串join连接
-
'string'.join(iterable) -> str
将可迭代对象连接起来,使用string作为分隔符
可迭代对象本身的元素都是字符串
返回一个新的字符串
字符串+连接
-
+ -> str
将2个字符串连接在一起
返回一个新的字符串
字符串分割
分割字符串的方法分为两类
-
split系
- 将字符串按照分隔符分割成若干字符串,并返回 列表
-
split(sep=None, maxsplit=-1) -> list of strings
- 从左至右
- sep指定分割字符串,缺省的情况下空白字符作为分隔符
- maxsplit指定分割的次数,-1表示遍历整个字符串
-
rsplit(sep=None, maxsplit=-1) -> list of strings
- 从右至左
- sep指定分割字符串,缺省的情况下空白字符串作为分隔符
- maxsplit指定分割的次数,-1表示遍历整个字符串
-
splitlines([keepends=False]) -> list of strings
- 按照行来切分字符串
- keepends指的是否保留行分隔符
- 行分隔符包括\n、\r\n、\r 等
-
partition系
- 将字符串按照分隔符分割成2段,返回这2段和分隔符的元组
-
partition(sep) -> (head,sep,tail)
- 从左至右,遇到分隔符就把字符串分割成两部分,返回头,分隔符、尾三部分的三元组;如果没有找到分隔符,就返回头、2个空元素的三元组
- sep分割字符串,必须制定
-
rpartition(sep) -> (head,sep,tail)
- 从右至左,遇到分隔符就把字符串分割成两部分,返回头、分隔符、尾三部分的三元组;如果没有找到分隔符,就返回2个空元素和尾的三元组
字符串大小写
-
upper()
- 全大写
-
lower()
- 全小写
大小写,做判断的时候用
-
swapcase()
- 交互大小写
字符串修改
-
replace(old,new[,count]) - str
- 字符串中找到匹配替换为新子串,返回新字符串
- count表示替换几次,不指定就是全部替换
-
strip([char]) -> str
从字符串两端去除指定的字符集chars中的所有字符
如果chars没有指定,去除两端的空白字符
-
lstrip([char]) -> str
- 从左开始
-
rstrip([char]) -> str
- 从右开始
字符串查找
-
find(sub[,start[,end]]) -> int
- 在指定的区间[start[,end]],从左至右,查找子串sub,找到返回索引,没有找到返回-1
-
rfind(sub[,start[,end]]) -> int
- 在指定的区间[start[,end]],从左至,查找子串sub,找到返回索引,没有找到返回-1
时间复杂度
- index和count方法都是O(n)
- 随着列表数据规模的增大,而效率下降
字符串判断
-
endswith(suffix[, start[, end]]) -> bool
- 在指定的区间[start,end],字符串是否是suffix结尾
-
startswith(prefix[, start[, end]]) -> bool
- 在指定的区间[start,end],字符串是否是prefix开头
字符串判断is系列
- isalnum() -> 是否是字母和数字组成
- isalpha() -> 是否是字母
- isdecimal() -> 是否包含十进制数字
- isdigit() -> 是否全部是数字(0~9)
- isdentifier() -> 是不是字母和下划线开头,其他都是字母、数字、下划线
- islower() -> 是否都是小写
- isupper() -> 是否全部大写
- isspace() -> 是否只包含空白字符串