一种语言内置类型,用于支持字符串。字符串字面量的示例:
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"]不允许隐式串联字符串;请改用
+
运算符。比较运算符执行字典顺序比较;使用 ==
测试是否相等。
成员
- capitalize
- 计数
- elems
- endswith
- 查找
- format
- 索引
- isalnum
- isalpha
- isdigit
- islower
- isspace
- istitle
- 高于
- join
- lower
- lstrip
- 分区
- removeprefix
- removesuffix
- 替换
- rfind
- rindex
- rPartition
- rsplitrsplit
- rstrip
- split
- splitlines
- startswith
- 条带
- title
- 大写
大写
string string.capitalize()返回字符串的副本,其中第一个字符(如果有)大写,其余字符小写。此方法不支持非 ASCII 字符。
计数
int string.count(sub, start=0, end=None)返回字符串中子字符串“
sub
”的(不重叠)出现的次数,可选择限制为 [start:end]
,start
包括边界值,end
不包括边界值。
参数
参数 | 说明 |
---|---|
sub
|
required 要计算的子字符串。 |
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
|
字符串;或字符串的元组;
必须提供 要匹配的后缀(或替代后缀的元组)。 |
start
|
int;或 None ;默认值为 0 测试从此位置开始。 |
end
|
int;或 None ;
默认为 None (可选)停止比较的位置。 |
查找
int string.find(sub, start=0, end=None)返回找到
sub
的第一个索引,如果不存在此类索引,则返回 -1,可选择限制为 [start:end]
,start
表示包括该索引,end
表示不包括该索引。
参数
参数 | 说明 |
---|---|
sub
|
必需 要查找的子字符串。 |
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
|
必需 要查找的子字符串。 |
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
|
string;或 None ;默认值为 None 要移除的字符,或所有空格(如果无)。 |
partition
tuple string.partition(sep)在分隔符
sep
首次出现的位置拆分输入字符串,并将生成的分区作为三元组(before、separator、after)的形式返回。如果输入字符串不包含分隔符,则分区会返回 (self, '', '')。
参数
参数 | 说明 |
---|---|
sep
|
必需 要拆分的字符串。 |
removeprefix
string string.removeprefix(prefix)如果该字符串以
prefix
开头,则返回一个已移除前缀的新字符串。否则,返回该字符串。
参数
参数 | 说明 |
---|---|
prefix
|
必需 要移除的前缀(如果存在)。 |
removesuffix
string string.removesuffix(suffix)如果该字符串以
suffix
结尾,则返回已移除后缀的新字符串。否则,返回字符串。
参数
参数 | 说明 |
---|---|
suffix
|
必需 要移除的后缀(如果存在)。 |
替换
string string.replace(old, new, count=-1)返回相应字符串的副本,其中出现的
old
已被 new
替换,并可以选择将替换次数限制为 count
。
参数
参数 | 说明 |
---|---|
old
|
必需 要替换的字符串。 |
new
|
required 要替换的字符串。 |
count
|
默认值为 -1 替换次数上限。如果省略或值为负数,则表示无限制。 |
rfind
int string.rfind(sub, start=0, end=None)返回找到
sub
的最后一个索引,如果不存在这样的索引,则返回 -1,可选择限制为 [start:end]
,start
表示包括该索引,end
表示不包括该索引。
参数
参数 | 说明 |
---|---|
sub
|
必需 要查找的子字符串。 |
start
|
int;或 None ;
默认为 0 仅限从此位置搜索。 |
end
|
int;或 None ;
默认为 None 可选位置,在该位置之前限制为搜索。 |
rindex
int string.rindex(sub, start=0, end=None)返回找到
sub
的最后一个索引,如果不存在这样的索引,则引发错误,可选择限制为 [start:end]
,start
为包括上限,end
为不包括上限。
参数
参数 | 说明 |
---|---|
sub
|
必需 要查找的子字符串。 |
start
|
int;或 None ;默认值为 0 限制为从此位置搜索。 |
end
|
int;或 None ;默认为 None 可选位置,将范围限定在它之前。 |
rpartition
tuple string.rpartition(sep)在分隔符
sep
的最后一次出现处拆分输入字符串,并将生成的分区作为三元组(before、separator、after)的形式返回。如果输入字符串不包含分隔符,则 rpartition 会返回(“”,“”,“”)。
参数
参数 | 说明 |
---|---|
sep
|
必需 要拆分的字符串。 |
rsplit
list string.rsplit(sep, maxsplit=None)返回字符串中所有字词的列表,使用
sep
作为分隔符,并可选择将拆分次数限制为 maxsplit
。除了从右侧拆分之外,此方法的行为类似于 split()。
参数
参数 | 说明 |
---|---|
sep
|
必需 要拆分的字符串。 |
maxsplit
|
int;或 None ;默认值为 None 拆分的最大数量。 |
rstrip
string string.rstrip(chars=None)返回字符串的副本,其中
chars
中出现的尾随字符会被移除。请注意,chars
不是后缀:系统会移除其值的所有组合:"abcbaa".rstrip("ab") == "abc"
参数
参数 | 说明 |
---|---|
chars
|
string;或 None ;默认值为 None 要移除的字符,或所有空格(如果无)。 |
split
list string.split(sep, maxsplit=None)返回字符串中所有字词的列表,使用
sep
作为分隔符,可以选择将拆分数量限制为 maxsplit
。
参数
参数 | 说明 |
---|---|
sep
|
必需 要拆分的字符串。 |
maxsplit
|
int;或 None ;默认值为 None 拆分的最大数量。 |
splitlines
sequence string.splitlines(keepends=False)从行边界(“\n”“\r\n”“\r”)拆分字符串,并返回结果作为新的可变列表。
参数
参数 | 说明 |
---|---|
keepends
|
默认值为 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()返回此字符串的大写版本。