在Python编程中不使用换行符进行打印

时间:2020-02-23 14:42:23  来源:igfitidea点击:

默认情况下,在不同的编程语言(例如C,C++,Java等)中,打印语句不以换行符结尾。

在使用Python的情况下,我们看到默认情况下," print()"函数在将内容打印后将光标移到下一行。
让我们看一个示例,其中我们尝试打印两个不同的语句。

print("Hello, this is Sneh.")
print("I love Python")

输出:

Hello, this is Sneh.
I love Python

在换行符中打印每个" print()"语句的内容时,这可能很有用。
但是有时用户可能需要在同一行中打印内容。

这可以通过使用以下针对Python 2.0+或者Python 3.0+用户的两种方法中的任何一种来实现。

在Python 3.0+中无需换行即可打印

在Python 3.0+中," print()"函数带有一个附加的可选参数" end",实际上它只是终止字符串。

以与上述相同的示例为例,但是这次使用'end'参数,让我们看看是否可以将两个语句都打印在一行中。

print("Hello, this is Sneh.", end="")
print("I love Python")

输出:

Hello, this is Sneh.I love Python

因此,我们可以清楚地看到,只要将任何字符串作为" end"(作为参数)输入到打印函数中,我们实际上就可以将打印语句与它们分开。

用于不使用换行符打印列表

我们同样可以打印列表或者数组的内容而无需换行符。
让我们看看如何

list1=['God','is','Good']
for i in range(3):
  print(list1[i],end=" ")

输出:

God is Good

在Python 2.0+中无需换行即可打印

对于Python 2,我们可以通过两种方法中的任何一种来解决上述问题。
首先,如果我们希望将打印语句的内容用空格("")分开,则可以使用","运算符。

而对于其他分隔字符串,我们可以使用sys.stdout.write来自Python 2中Sys模块的函数。

同样,例如,使用","运算符,

print("Hello, this is Sneh again!"), print("I love C++ too.")

输出:

Hello, this is Sneh again! I love C++ too.

使用sys.stdout.write函数代替" print()",

import sys
sys.stdout.write("Hello, this is Sneh!")
sys.stdout.write("I love C++ too.")

输出:

Hello, this is Sneh again!I love C++ too.

用于不使用换行符打印列表

使用","运算符

再看一个例子,

list1=['Learn', 'Python', 'from', 'theitroad']
for i in range(4):
  print(list1[i]),

输出:

Learn Python from theitroad

使用sys模块功能

仔细看这个例子,

import sys
list1=['Learn', 'Python', 'form', 'theitroad']
for i in range(4):
 sys.stdout.write(list1[i])
 sys.stdout.write(",")

输出:

Learn,Python,from,theitroad