在Python中,字符串可以被索引,也就是下标访问,通俗点说,就是通过序号获取字符串中某个位置的字符;
字符串中的第一个字符的索引为0;
除索引外,字符串还支持切片;
索引可以获取字符串内的某个字符,而切片可以获取字符串内某个范围的子字符串;
#注意切片的开始总是被包括其中,而结束不会被包括
切片的索引有默认值,省略起始值则默认为0,省略结束值则默认为字符串的末尾;
如果索引没有越界,那么切片得到的字符串长度就是起止索引的差,例如word[0:2]的长度为2;
试图使用过大的索引将会产生一个错误;
但是切片中索引的越界会被自动处理;
Python中的字符串是不能被修改的,只能重新被赋值,它们是 immutable (不可变)类型的,因此,尝试修改字符串的值的时候会产生一个错误;
如果想要一个不同的字符串,应当新建一个或重新赋值;
函数len()可以返回一个字符串的长度;
字符串的方法:
方法 描述
str.count(sub[, start[, end]]) 返回子字符串 sub 在 [start, end] 范围内非重叠出现的次数,可选参数 start 与 end 会被解读为切片表示法
str.find(sub[, start[, end]]) 返回子字符串 sub 在 s[start:end] 切片内被找到的最小索引。 可选参数 start 与 end 会被解读为切片表示法。 如果 sub 未被找到则返回 -1
str.index(sub[, start[, end]]) 类似于 find(),但在找不到子类时会引发 ValueError
str.isalnum() 如果字符串中的所有字符都是字母或数字且至少有一个字符,则返回 True , 否则返回 False
str.isalpha() 如果字符串中的所有字符都是字母,并且至少有一个字符,返回 True ,否则返回 False
str.isdigit() 如果字符串中的所有字符都是整数,并且至少有一个字符,返回 True ,否则返回 False
str.islower() 如果字符串中至少有一个区分大小写的字符,且此类字符均为小写则返回 True ,否则返回 False
str.isnumeric() 如果字符串中至少有一个字符且所有字符均为数值字符(包括中文),则返回 True ,否则返回 False
str.isspace() 如果字符串中只有空白字符且至少有一个字符则返回 True ,否则返回 False
str.istitle() 如果字符串中至少有一个字符且为标题字符串则返回 True ,例如大写字符之后只能带非大写字符而小写字符必须有大写字符打头。 否则返回 False
str.isupper() 如果字符串中至少有一个区分大小写的字符 4 且此类字符均为大写则返回 True ,否则返回 False
str.lower() 返回原字符串的副本,其所有区分大小写的字符 4 均转换为小写
str.replace(old, new[, count]) 返回字符串的副本,其中出现的所有子字符串 old 都将被替换为 new。 如果给出了可选参数 count,则只替换前 count 次出现
str.split(sep=None, maxsplit=-1) 返回一个由字符串内单词组成的列表,使用 sep 作为分隔字符串。 如果给出了 maxsplit,则最多进行 maxsplit 次拆分(因此,列表最多会有 maxsplit+1 个元素)。 如果 maxsplit 未指定或为 -1,则不限制拆分次数(进行所有可能的拆分)
str.strip([chars]) 返回原字符串的副本,移除其中的前导和末尾字符。 chars 参数为指定要移除字符的字符串。 如果省略或为 None,则 chars 参数默认移除空白符。 实际上 chars 参数并非指定单个前缀或后缀;而是会移除参数值的所有组合
str.upper() 返回原字符串的副本,其中所有区分大小写的字符均转换为大写