Python 中的换行符用于标记行的结尾和新行的开始。如果你想将输出打印到控制台并使用文件,那么你非常需要知道如何使用它。

在本文中,你将学习:

  • 如何在 Python 中识别换行符
  • 如何在字符串和打印语句中使用换行符
  • 如何编写不会在字符串末尾添加换行符的打印语句

我们开始吧

🔹 换行符

Python 中的换行符是:

image-142

它包含两个字符

  • 一条反斜线
  • 字母 n

如果你在字符串中看到此字符,则表示当前行在该点结束,并在其后立即开始新行:

image-224

你也可以在格式化字符串(f-strings)中使用它:

>>> print(f"Hello\nWorld!")

🔸 打印语句中的换行符

默认情况下,print 语句在字符串的末尾“在幕后”添加新的换行符。

比如:

image-145

发生这种情况是因为,根据 Python 文档

内置 print 功能的 end 参数的默认值为 \n,因此在该字符串后追加了一个换行符。

💡 提示追加( append )的意思是“添加到末尾”。

这是函数释义:

image-146

注意 end 的值是 \n,所以这个会被添加到字符串的末尾。

如果仅打印一条语句,你将不会注意到这一点,因为将仅打印一行:

image-147

但是,如果你在 Python 脚本中一条接一条地使用多个打印语句:

image-214

将会输出单独的几行,因为 \n 已被“幕后”添加到每行的末尾:

image-218

🔹 如何不在打印时换行

我们可以通过自定义 print 功能的 end 参数的值来更改此默认行为。

如果在此示例中使用默认值:

image-219

我们会看到结果打印为两行:

image-221

但是,如果我们将 end 的值设置为 " "

image-222

将在字符串的末尾添加一个空格,而不是新的行字符 \n,因此两个打印语句的输出将显示在同一行:

image-223

你可以使用它在一行中打印一系列值,例如以下示例:

image-210

输出结果是:

image-211

💡 提示我们添加了一个条件语句,以确保不会将逗号添加到序列的最后一个数字中。

类似的,我们可以使用它在同一行中打印可迭代的值:

image-225

输出结果是:

image-213

🔸 文件中的换行符

在文件中也可以找到换行符 \n,但是它是“隐藏的”。当你在文本文件中看到新行时,其实已经插入新行字符 \n

image-150

你可以通过 <file>.readlines() 检查出来,比如:

with open("names.txt", "r") as f:
    print(f.readlines())

输出结果是:

image-207

如你所见,文本文件的前三行以换行 \n 字符结尾,该字符在“幕后”工作。

💡 提示只有文件的最后一行没有以换行符结尾。

🔹 小结

  • Python 中的换行符为 \n。它用于指示一行文本的结尾。
  • 你可以打印字符串而无需添加新的 end = <character> 行,其中 <character> 是将用于分隔行的字符。

希望你喜欢我的文章并发现它对你有所帮助。现在,你可以在 Python 中使用换行符了。

点击访问我的线上课程。在 Twitter 关注我。⭐️

原文:Python New Line and How to Python Print Without a Newline,作者:Estefania Cassingena Navone