Skip to content

Python 字符串

字符串(str)是 Python 中用于处理文本数据的核心类型。它本质上是一个由 Unicode 字符组成的不可变序列。这意味着一旦创建,字符串的内容就不能直接修改。

你可以通过多种方式创建字符串,最常见的就是使用引号将文本括起来。

  • 单引号: '单引号字符串,可以包含 "双引号" '
  • 双引号: "双引号字符串,可以包含 '单引号' "
  • 三引号: '''三个单引号,用于多行字符串'''"""三个双引号,也用于多行字符串"""

三引号的特别之处在于,它们允许你创建跨越多行的字符串,这对于存储长文本或代码片段非常方便。

python
s = "这是一个字符串"

s1 = """这是一个
多行
字符串"""

s2 = '''这也是一个
多行
字符串'''

神奇的转义字符

反斜杠 (\) 在字符串中扮演着特殊的角色,它被称为转义字符。它可以用来表示一些无法直接输入的字符,或者取消某些字符的特殊含义。

以下是一些常用的转义字符及其含义:

转义序列含义示例
\\反斜杠 (\)print("路径:C:\\\\folder")
\'单引号 (')print('他说:\'你好!\'')
\"双引号 (")print("她说:\"Hello!\"")
\aASCII 响铃 (BEL)# 响铃一声(可能听不见)
\bASCII 退格 (BS)print("abc\b") # 输出 ab
\fASCII 换页 (FF)# 鲜少使用
\nASCII 换行 (LF)print("第一行\n第二行")
\rASCII 回车 (CR)# 鲜少使用
\tASCII 水平制表符 (TAB)print("姓名\t年龄")
\vASCII 垂直制表符 (VT)# 鲜少使用

需要注意的是,虽然你可以使用 \'\" 来表示引号,但 Python 允许你在单引号字符串中直接包含双引号,反之亦然,这样可以避免不必要的转义。 例如: '我的名字是 "Python"。'"Python 的世界" 都是合法的字符串。

Unicode:让字符串无国界

Python 字符串天生支持 Unicode 字符,这意味着你可以轻松地处理各种语言的文本。 Unicode 为世界上几乎所有的字符都分配了一个唯一的数字,称为码点。

你可以使用 \u 后跟 4 位十六进制数来表示 Unicode 字符。

python
>>> print("E = mc\u00B2")
E = mc²

在这个例子中,\u00B2 代表 Unicode 字符 "上标二"。 你还可以使用 \U 后跟 8 位十六进制数来表示更大的 Unicode 码点。

万物皆可字符串

有时候,你可能需要将其他类型的数据转换为字符串。 这时,可以使用内置的 str() 函数。

python
>>> str(9)
'9'

>>> str(10.0)
'10.0'

>>> str(True)
'True'

str() 函数可以接受任何 Python 对象作为参数,并返回该对象的字符串表示形式。这在很多情况下都非常有用,例如在拼接字符串或将数据写入文件时。