用于支持字符串的语言内置类型。字符串字面量示例:
a = 'abc\ndef' b = "ab'cd" c = """multiline string""" # Strings support slicing (negative index starts from the end): x = "hello"[2:4] # "ll" y = "hello"[1:-1] # "ell" z = "hello"[:4] # "hell" # Slice steps can be used, too: s = "hello"[::2] # "hlo" t = "hello"[3:0:-1] # "lle"字符串不可直接迭代,请使用
.elems()
方法遍历其字符。示例:"bc" in "abcd" # evaluates to True x = [c for c in "abc".elems()] # x == ["a", "b", "c"]不允许对字符串进行隐式串联;请改用
+
运算符。比较运算符执行字典顺序比较;使用 ==
测试是否相等。
成员
- 大写
- 数量
- 元素
- endswith
- 查找
- format
- index
- isalnum
- isalpha
- isdigit
- 更低
- isspace
- istitle
- 高于
- 加入
- lower
- lstrip
- 分区
- removeprefix
- removesuffix
- 替换
- rfind
- rindex
- r 分区
- rsplit
- rstrip
- split
- 分屏
- startswith
- strip
- title
- upper
大写
string string.capitalize()返回字符串副本,其中第一个字符(如果有)大写,其余字符小写。此方法不支持非 ASCII 字符。
计数
int string.count(sub, start=0, end=None)返回字符串中子字符串“
sub
”的(非重叠)出现次数,可选择限制为 [start:end]
,start
包含边界值,end
不包含边界值。
参数
参数 | 说明 |
---|---|
sub
|
string;
必需 要计算的子字符串。 |
start
|
int;或 None ;
默认为 0 将搜索范围限制为从此位置开始。 |
end
|
int;或 None ;
默认为 None 可选位置,在该位置之前将搜索作为默认选项。 |
elems
sequence string.elems()返回一个可迭代值,其中包含字符串的连续 1 个元素子字符串。等同于
[s[i] for i in range(len(s))]
,但返回的值可能不是列表。
endswith
bool string.endswith(sub, start=0, end=None)如果字符串以
sub
结尾,则返回 True,否则返回 False,可选择性地限制为 [start:end]
,start
为包括 start
在内的范围,end
为不包括 end
在内的范围。
参数
参数 | 说明 |
---|---|
sub
|
string;或字符串元组;
必需 要匹配的后缀(或替代后缀的元组)。 |
start
|
int;或 None ;
默认值为 0 从此位置开始测试。 |
end
|
int;或 None ;
默认值为 None 停止比较的可选位置。 |
查找
int string.find(sub, start=0, end=None)返回找到
sub
的第一个索引,如果不存在此类索引,则返回 -1,可选择限制为 [start:end]
,start
表示包括该索引,end
表示不包括该索引。
参数
参数 | 说明 |
---|---|
sub
|
string;
必需 要查找的子字符串。 |
start
|
int;或 None ;
默认值为 0 限制为从此位置搜索。 |
end
|
int;或 None ;
默认值为 None 可选位置,限定在搜索范围之前。 |
格式
string string.format(*args, **kwargs)执行字符串插值。格式字符串包含用大括号
{}
包围的替换字段。不包含在大括号中的任何内容都被视为字面量文本,并会以原样复制到输出中。如果您需要在字面量文本中添加大括号字符,可以通过重复使用大括号对其进行转义:{{
和 }}
替换字段可以是名称、数字或空白。系统会使用 str 函数将值转换为字符串。# Access in order: "{} < {}".format(4, 5) == "4 < 5" # Access by position: "{1}, {0}".format(2, 1) == "1, 2" # Access by name: "x{key}x".format(key = 2) == "x2x"
参数
参数 | 说明 |
---|---|
args
|
默认值为 () 参数列表。 |
kwargs
|
默认值为 {} 参数字典。 |
索引
int string.index(sub, start=0, end=None)返回找到
sub
的第一个索引;如果不存在此类索引,则会引发错误,可以选择限制为 [start:end]
start
(含)和 end
(不含)。
参数
参数 | 说明 |
---|---|
sub
|
string;
必需 要查找的子字符串。 |
start
|
int;或 None ;
默认值为 0 限制为从此位置搜索。 |
end
|
int;或 None ;
默认为 None 可选位置,在该位置之前限制为搜索。 |
isalnum
bool string.isalnum()如果字符串中的所有字符都是字母数字 ([a-zA-Z0-9]),并且至少包含一个字符,则返回 True。
isalpha
bool string.isalpha()如果字符串中的所有字符都是字母 ([a-zA-Z]),并且至少有一个字符,则返回 True。
isdigit
bool string.isdigit()如果字符串中的所有字符都是数字 ([0-9]) 且至少有一个字符,则返回 True。
islower
bool string.islower()如果字符串中的所有大小写字符均为小写且至少有一个字符,则返回 True。
isspace
bool string.isspace()如果所有字符都是空格字符,且字符串至少包含一个字符,则返回 True。
istitle
bool string.istitle()如果字符串采用标题格式且包含至少一个字符,则返回 True。这意味着,每个大写字符都必须跟在不区分大小写的字符(例如空格)后面,每个小写字符都必须跟在区分大小写的字符(例如大写字符或小写字符)后面。
isupper
bool string.isupper()如果字符串中的所有大小写字符均为大写,并且字符串中至少有一个字符,则返回 True。
联接
string string.join(elements)返回一个字符串,其中参数的字符串元素已使用此字符串作为分隔符进行联接。示例:
"|".join(["a", "b", "c"]) == "a|b|c"
参数
参数 | 说明 |
---|---|
elements
|
必需 要联接的对象。 |
3 年
string string.lower()返回此字符串的小写版本。
lstrip
string string.lstrip(chars=None)返回字符串的副本,其中
chars
中显示的前导字符会被移除。请注意,chars
不是前缀:系统会移除其值的所有组合:"abcba".lstrip("ba") == "cba"
参数
参数 | 说明 |
---|---|
chars
|
字符串;或 None ;
默认为 None 要移除的字符,如果为 None,则移除所有空格。 |
partition
tuple string.partition(sep)在分隔符
sep
首次出现时拆分输入字符串,并将生成的分区以形式(之前、分隔符、之后)的三元素元组的形式返回。如果输入字符串不包含分隔符,则分区会返回 (self, '', '')。
参数
参数 | 说明 |
---|---|
sep
|
string;
必需 要拆分的字符串。 |
removeprefix
string string.removeprefix(prefix)如果该字符串以
prefix
开头,则返回一个已移除前缀的新字符串。否则,返回该字符串。
参数
参数 | 说明 |
---|---|
prefix
|
string;
必需 要移除的前缀(如果存在)。 |
removesuffix
string string.removesuffix(suffix)如果字符串以
suffix
结尾,则返回移除了后缀的新字符串。否则,返回该字符串。
参数
参数 | 说明 |
---|---|
suffix
|
string;
必需 要移除的后缀(如果存在)。 |
替换
string string.replace(old, new, count=-1)返回字符串的副本,其中
old
的出现次数已替换为 new
,可选择将替换次数限制为 count
。
参数
参数 | 说明 |
---|---|
old
|
string;
必需 要替换的字符串。 |
new
|
string;
必需 要替换的字符串。 |
count
|
int;
默认值为 -1 替换次数上限。如果省略或值为负数,则表示无限制。 |
rfind
int string.rfind(sub, start=0, end=None)返回找到
sub
的最后一个索引;如果不存在此类索引,则返回 -1(可选限制为 [start:end]
,start
包含边界值,end
不包含边界值)。
参数
参数 | 说明 |
---|---|
sub
|
string;
必需 要查找的子字符串。 |
start
|
int;或 None ;
默认为 0 仅限从此位置搜索。 |
end
|
int;或 None ;
默认值为 None 可选位置,限定在搜索范围之前。 |
rindex
int string.rindex(sub, start=0, end=None)返回找到
sub
的最后一个索引;如果不存在此类索引,则会引发错误,可以选择限制为 [start:end]
,start
包含边界值,end
不包含边界值。
参数
参数 | 说明 |
---|---|
sub
|
string;
必需 要查找的子字符串。 |
start
|
int;或 None ;
默认为 0 将搜索范围限制为从此位置开始。 |
end
|
int;或 None ;
默认为 None 可选位置,在该位置之前限制为搜索。 |
rpartition
tuple string.rpartition(sep)在分隔符
sep
最后一次出现时拆分输入字符串,并以形式(之前、分隔符、之后)的三元素元组形式返回生成的分区。如果输入字符串不包含分隔符,则 rpartition 会返回(“”,“”,“”)。
参数
参数 | 说明 |
---|---|
sep
|
string;
必需 要拆分的字符串。 |
rsplit
list string.rsplit(sep, maxsplit=None)返回字符串中所有字词的列表,使用
sep
作为分隔符,可以选择将拆分数量限制为 maxsplit
。除了从右侧拆分之外,此方法的行为类似于 split()。
参数
参数 | 说明 |
---|---|
sep
|
string;
必需 要拆分的字符串。 |
maxsplit
|
int;或 None ;
默认值为 None 最大拆分数量。 |
rstrip
string string.rstrip(chars=None)返回移除了
chars
中尾随字符的字符串的副本。请注意,chars
不是后缀:它的值的所有组合都会被移除:"abcbaa".rstrip("ab") == "abc"
参数
参数 | 说明 |
---|---|
chars
|
string;或 None ;
默认值为 None 要移除的字符,如果为 None,则为全部空格。 |
split
list string.split(sep, maxsplit=None)返回字符串中所有字词的列表,使用
sep
作为分隔符,可以选择将拆分数量限制为 maxsplit
。
参数
参数 | 说明 |
---|---|
sep
|
string;
必需 要拆分的字符串。 |
maxsplit
|
int;或 None ;
默认为 None 分块数量上限。 |
splitlines
sequence string.splitlines(keepends=False)按行边界('\n'、'\r\n'、'\r')拆分字符串,并将结果作为新的可变列表返回。
参数
参数 | 说明 |
---|---|
keepends
|
bool;
默认为 False 是否应在结果列表中包含换行符。 |
startswith
bool string.startswith(sub, start=0, end=None)如果字符串以
sub
开头,则返回 True,否则返回 False,可选择性地限制为 [start:end]
,start
表示包括 sub
,end
表示不包括 sub
。
参数
参数 | 说明 |
---|---|
sub
|
字符串;或字符串的元组;
必需 要匹配的前缀(或备选前缀的元组)。 |
start
|
int;或 None ;
默认为 0 测试从此位置开始。 |
end
|
int;或 None ;
默认为 None 在此位置停止比较。 |
strip
string string.strip(chars=None)返回字符串的副本,其中
chars
中出现的前导或尾随字符会被移除。请注意,chars
既不是前缀,也不是后缀:系统会移除其值的所有组合:"aabcbcbaa".strip("ab") == "cbc"
参数
参数 | 说明 |
---|---|
chars
|
字符串;或 None ;
默认为 None 要移除的字符,如果为 None,则移除所有空格。 |
title
string string.title()将输入字符串转换为标题格式,即每个字词都以大写字母开头,其余字母均为小写。在本上下文中,字词严格地指字母序列。此方法不支持补充 Unicode 字符。
上半部
string string.upper()返回此字符串的大写版本。