如何在Python3中格式化文本

来自菜鸟教程
跳转至:导航、​搜索

###介绍

由于字符串通常由书面文本组成,因此在许多情况下,我们可能希望通过标点符号、换行符和缩进更好地控制字符串的外观,以使它们对人类更具可读性。

在本教程中,我们将介绍一些使用 Python 字符串的方法,以确保所有输出文本的格式正确。

    1. 先决条件

您应该在您的计算机或服务器上安装 Python 3 并设置编程环境。 如果您没有设置编程环境,您可以参考本地编程环境或服务器上的编程环境适合您的操作的安装和设置指南系统(Ubuntu、CentOS、Debian 等)

    1. String 字面量

让我们首先区分 字符串字面量字符串值 。 字符串文字是我们在计算机程序的源代码中看到的,包括引号。 当我们调用 print() 函数并运行程序时,我们会看到一个字符串值。

在“你好,世界!” 程序,字符串文字是 "Hello, World!" 而字符串值是 Hello, World! 没有引号。 字符串值是我们在运行 Python 程序时在终端窗口中看到的输出。

但是某些字符串值可能需要包含引号,例如当我们引用源时。 因为字符串字面量和字符串值不等价,所以通常需要为字符串字面量添加额外的格式,以确保字符串值按照我们想要的方式显示。

    1. 引号和撇号

因为我们可以在 Python 中使用单引号或双引号,所以我们还可以通过在由单引号括起来的字符串中使用双引号来在字符串中嵌入引号:

Info: 要跟随本教程中的示例代码,请通过运行 python3 命令在本地系统上打开 Python 交互式 shell。 然后,您可以通过在 >>> 提示符后添加示例来复制、粘贴或编辑示例。


'Sammy says, "Hello!"'

或者,在用双引号括起来的字符串中使用所有格撇号:

"Sammy's balloon is red."

通过组合单引号和双引号的方式,我们可以控制字符串中引号和撇号的显示。

    1. 多行

在多行上打印字符串可以使文本对人类更具可读性。 通过多行,可以将字符串分组为干净有序的文本,格式化为字母,或用于维护诗歌或歌曲歌词的换行符。

要创建跨多行的字符串,请使用三个单引号 或三个双引号 """ 将字符串括起来。

'''
This string is on 
multiple lines
within three single 
quotes on either side.
'''
"""
This string is on 
multiple lines
within three double 
quotes on either side.
"""

使用三引号,您可以在多行上打印字符串以使文本(尤其是冗长的文本)更易于阅读。

    1. 转义字符

格式化字符串的另一种方法是使用 转义字符 。 转义字符都以反斜杠键 ( \ ) 开头,并结合字符串中的另一个字符以某种方式格式化给定的字符串。

以下是几个常见转义字符的列表:

转义字符 它是如何格式化的
\\ 多行字符串中的新行
\\\\ 反斜杠
撇号或单引号
" 双引号
\n 越线
\t 制表符(水平缩进)

让我们使用转义字符将引号添加到上面的引号示例中,但是这次我们将使用双引号:

print("Sammy says, \"Hello!\"")
OutputSammy says, "Hello!"

通过使用转义字符 \",我们可以使用双引号将包含双引号之间引用的文本的字符串括起来。

同样,我们可以使用转义字符 \' 在用单引号括起来的字符串中添加撇号:

print('Sammy\'s balloon is red.')
OutputSammy's balloon is red.

因为我们现在使用转义字符,所以我们可以在使用单引号的字符串中添加撇号。

当我们像上面那样使用三引号时,我们会在打印字符串时看到顶部和底部都有一个空格。 我们可以通过在字符串顶部使用 \ 转义键删除这些空格,然后在字符串末尾再次使用,同时保持程序中的文本非常可读。

"""\
This multi-line string
has no space at the
top or the bottom
when it prints.\
"""

同样,我们可以使用 \n 转义字符来换行,而无需按 enterreturn 键:

print("This string\nspans multiple\nlines.")
OutputThis string
spans multiple
lines.

我们也可以组合转义字符。 让我们打印一个多行字符串并包含一个分项列表的制表符间距,例如:

print("1.\tShark\n2.\tShrimp\n10.\tSquid")
Output1.  Shark
2.  Shrimp
10. Squid

\t 转义字符提供的水平缩进确保在上面示例中的第二列内对齐,使输出对人类来说非常易读。

尽管 \n 转义字符适用于短字符串文字,但确保源代码对人类也可读是很重要的。 在长字符串的情况下,多行字符串的三引号方法通常更可取。

转义字符用于向可能难以或不可能实现的字符串添加额外的格式。 如果没有转义字符,你将如何构造字符串 Sammy says, "The balloon's color is red."

    1. 原始字符串

如果我们不想在我们的字符串中使用特殊格式怎么办? 例如,我们可能需要比较或评估故意使用反斜杠的计算机代码字符串,因此我们不希望 Python 将其用作转义字符。

raw string 告诉 Python 忽略字符串中的所有格式,包括转义字符。

我们通过将 r 放在字符串前面,就在开始的引号之前来创建一个原始字符串:

print(r"Sammy says,\"The balloon\'s color is red.\"")
OutputSammy says,\"The balloon\'s color is red.\"

通过在给定字符串前面使用 r 构造原始字符串,我们可以保留反斜杠和其他用作转义字符的字符。

##结论

本教程介绍了几种通过使用字符串在 Python 3 中格式化文本的方法。 通过使用转义字符或原始字符串等技术,我们能够确保程序的字符串在屏幕上正确呈现,以便最终用户能够轻松阅读所有输出文本。

通过查看以下教程继续了解有关字符串的更多信息: