字符串

字符串是一个被视为值的不可变字符序列。字符串支持所有生成新字符串的不可变序列函数和运算符。例如,"abcdef"[1:4] 将生成输出 "bcd"

在 Python 中,字符由长度为 1 的字符串表示。

字符串字面值通过使用单重引用或三重引用来定义。使用单引号定义的字符串不能跨行,而使用三重引号定义的字符串可以跨行。可以将字符串括在单引号 (') 或双引号 (") 中。引用字符可以包含其他未转义的引用字符或已转义(即,前面带有反斜杠 (\) 字符)的引用字符。

示例

"This is a string"
'This is also a string'
"It's a string"
'This book is called "Python Scripting and Automation Guide".'
"This is an escape quote (\") in a quoted string"

Python 解析器将自动合并多个以空格分隔的字符串。这样您可以更轻松地输入长字符串,并且更容易混合单个字符串中的引号类型,例如:

"This string uses ' and " 'that string uses ".'

这将生成以下输出:

This string uses ' and that string uses ".

字符串支持一些有用的方法。下表列出了其中一些方法。

表 1. 字符串方法
方法 用法
s.capitalize() s 执行首字母大写
s.count(ss {,start {,end}}) 计算 sss[start:end] 中的出现次数
s.startswith(str {, start {, end}})
s.endswith(str {, start {, end}}) 
测试以查看 s 是否以 str 开头
测试以查看 s 是否以 str 结尾
s.expandtabs({size}) 将制表符替换为空格,缺省 size 为 8
s.find(str {, start {, end}})
s.rfind(str {, start {, end}})
s 中查找 str 的第一个索引;如果找不到,那么结果为 -1。rfind 从右到左进行搜索。
s.index(str {, start {, end}})
s.rindex(str {, start {, end}})
s 中查找 str 的第一个索引;如果找不到,那么将引起 ValueErrorrindex 从右到左进行搜索。
s.isalnum 测试以查看字符串是否为字母数字字符串
s.isalpha 测试以查看字符串是否为字母字符串
s.isnum 测试以查看字符串是否为数字字符串
s.isupper 测试以查看字符串是否为全部大写
s.islower 测试以查看字符串是否为全部小写
s.isspace 测试以查看字符串是否全是空格
s.istitle 测试以查看字符串是否为首字母大写的字母数字字符串序列
s.lower()
s.upper()
s.swapcase()
s.title()
转换为全部小写
转换为全部大写
转换为大小写颠倒
转换为全标题形式
s.join(seq) seq 中的字符串连接起来,以 s 作为分隔符
s.splitlines({keep}) s 分割为多行,如果 keep 为 true,那么将使用换行
s.split({sep {, max}}) 使用 sep(缺省 sep 为空格)将 s 分割为“字”,最多分割 max 次数
s.ljust(width)
s.rjust(width)
s.center(width)
s.zfill(width)
在宽度为 width 的字段中,将字符串左对齐
在宽度为 width 的字段中,将字符串右对齐
在宽度为 width 的字段中,将字符串居中对齐
用 0 进行填充。
s.lstrip()
s.rstrip()
s.strip()
移除前导空格
移除尾部空格
移除前导和尾部空格
s.translate(str {,delc}) 移除 delc 中的所有字符后,使用表转换 sstr 应该是长度为 == 256 的字符串。
s.replace(old, new {, max}) 使用字符串 new 全部替换或按照 max 出现次数替换字符串 old