在 Python 中无换行打印

本教程将演示在 Python 中打印没有换行的文本的各种方法。Python 2 和 3 中的 print() 函数在每次调用时在输入文本的末尾添加换行符。本教程将说明我们如何在 Python 2 和 3 中以空格和不带空格的方式在同一行中打印文本。

在 Python 中使用 print() 函数中的 end 参数在不使用换行符的情况下进行打印

Python 3 中的 print(object(s), sep, end) 函数,将一个或多个 object 作为输入,将其转换为字符串,然后进行打印。sep 参数(默认值' ')表示 print() 函数用于分隔输入对象(如果提供了多个对象)的分隔符。end 参数(默认值\n)表示 print() 函数在最后一个对象末尾打印的值。

要打印不带换行符的文本,我们可以将一个空字符串作为 end 参数传递给 print() 函数。同样,如果我们不希望每个 object 之间有空格,则可以将空字符串作为 sep 参数传递。

以下示例代码演示了如何使用 Python 3 中的 print() 函数在不使用换行符的情况下进行打印。

print('Hello',end='', sep='')
print(' ',end='', sep='')
print('Hello',end='', sep='')

输出:

Hello Hello

注释

对于 Python 2,我们需要从 future 模块导入 print_function 来使用上面的代码。

示例代码:

from __future__ import print_function

print('Hello',end='', sep='')
print(' ',end='', sep='')
print('Hello',end='', sep='')

输出:

Hello Hello

在 Python 中使用 sys.stdout.write() 函数不使用换行符进行打印

sys.stdout.write() 函数在屏幕上打印作为输入提供的文本。它没有在文本的末尾附加换行符\n

因此,要在 Python 中打印不带换行符的文本,可以将文本传递给 sys.stdout.write() 函数,如以下示例代码所示:

import sys

sys.stdout.write('Hello')
sys.stdout.write(' ')
sys.stdout.write('Hello')

输出:

Hello Hello