Python 换行符

17 Mar 2025 | 4 分钟阅读

通常,当我们使用 print 语句打印一个字符串时,我们会使用另一个 print 语句来打印另一个新行的字符串。当我们编写一个 print 语句时,执行后,光标会自动移到新行。为什么会发生这种情况?我们能否在新行中打印一个字符串而不使用新的 print 语句?如果我们要为每个字符串不断地编写新的 print 语句,代码就会变得荒谬。

以上两个问题的答案都是一个称为“Python 新行字符”的转义序列字符,用'\n'表示。本文将通过示例讨论新行字符。

基本理解

字符:'\n'

功能:将光标移到新行。

  • 该字符仅对字符串和字符有效。
  • 此字符也称为“换行符”
  • 它是 Python 中的一个转义序列字符。
  • 我们可以将 '\n' 放在字符串的任何位置。

语法

  • 声明多行字符串
  • 打印多行字符串
  1. 开头的 \n:留空一行,移到新行并打印 str1
  2. 中间的 \n:打印 str1 后移到新行并打印 str2
  3. 结尾的 \n:执行 str2 后留空一行,移到新行

'\n' 的必要性

假设我们想在第一行打印“Hello”,在下一行打印 '!',然后在再下一行打印“world”,如果我们使用普通的 print 语句

输出

Python New Line

打印 3 个单词用了 3 行代码。如果我们想打印更多字符串,代码会更长。

现在,如果我们使用 '\n'

输出

Python New Line

只用了一行。我们可以使用 '\n' 在多行中打印任意数量的字符串,同时保持代码简洁紧凑。

关于 '\n' 的更多信息

为什么 print 语句不像普通字符串那样打印 '\n'?Python 是如何识别 '\n' 的?

在 Python 中,我们有一些预定义的字符,它们后面跟着一个反斜杠字符('\'),称为“转义序列”。Python 识别 '\' 并立即明白它不是字符串的一部分,并根据其后面的字符执行它。在字符前使用反斜杠可以帮助字符转义正常的字符串执行。

示例: \t, \r, \n 等。

使用 '\n' 声明字符串

输出

Python New Line

理解

在上面的例子中

  1. 使用 \n 将字符串分成两行并存储在字符串变量中。每当我们想打印字符串或对字符串执行任何操作时,我们都可以使用该变量。
  2. 我们使用了只包含新行字符的 print 来提供一个空行间隙。

print 语句如何自动移到新行?

在 Python 中,print 语句的语法是

print (values, sep = '', end = '\n', file = file, flush = flush)

在这里,end 是一个可选参数。它指定了我们希望字符串结束的最后一个字符。默认情况下,end 被赋值为 '\n',这就是为什么,在 print 语句执行后,如果我们不为 end 提供任何参数,它会将光标移到下一行。

如果我们为 end 提供参数

输出

Python New Line

理解

我们将 '!' 赋值给了 end。因此,在执行第一个 print 语句后,第二个 print 语句不会移到新行,而是紧跟在 "!" 后面,在同一行。

打印字符串到新行的另一种方法

我们还有一种方法可以移到新行。首先,我们可以使用多个 print 语句。第二,我们可以使用 '\n' 字符。我们可以通过使用 Python 中的“多行字符串”来实现这一点。

我们使用单引号或双引号来打印单行字符串。在 Python 中,我们可以使用 3 个双引号("""字符串""")或 3 个单引号('''字符串''')打印多行字符串。

语法

Python 通过引号 ''' 或 """ 识别字符串是多行字符串。

示例

输出

Python New Line

理解

我们使用单引号和双引号写了两个多行字符串。

  • 在上面的代码中,尽管我们写了多行字符串,但我们使用了 '\n' 来表示空行。
  • 我们想打印的字符串行越多,代码的长度就越长。

总结

我们可以在 Python 中通过 3 种方式将字符串打印到新行

  1. 多个 print 语句
  2. 使用 '\n'。
  3. 使用多行字符串。

这三种方法可能对不同的需求有用,但程序员大多使用'\n'来打印新行,因为它是最常用接受的方法,因为它很简单。

使用 '\n',我们可以

  1. 打印多行字符串。
  2. 保持代码简洁。
  3. 自定义字符串中字符的位置。
  4. 留空行。