Python print() 函数,在同一行打印

举报
梦想橡皮擦 发表于 2022/03/11 22:15:51 2022/03/11
【摘要】 文章目录 Python print() 函数,在同一行打印为什么 Python 的 `print` 函数默认在新行上打印?如何在 Python 中同一行上打印选项 # 1-在打印函数中修改 end...

Python print() 函数,在同一行打印

令 Python print() 函数输出的信息在一行。

print() 函数是 Python 中的一个重要函数,因为它用于将 Python 输出重定向到终端或者重定向到文件。

默认情况下, print() 函数每次都在新行上打印,这是由于 Python 文档中 print() 定义决定的。

为什么 Python 的 print 函数默认在新行上打印?

在下面的代码片段中,我们可以看到默认情况下 end 的值是 \n ,这意味着每个 print 语句将以 \n 结尾,而 \n 表示一个换行字符。

Python print() 函数,在同一行打印

让我们看一个 print 函数的例子:

# using Print with default settings

print("This will be printed")
print("in separate lines")

  
 
  • 1
  • 2
  • 3
  • 4

输出:

Python print() 函数,在同一行打印

在上面的示例中,由于 end ="\n" ,所以行将被单独打印。

如何在 Python 中同一行上打印

有时,我们需要在一行上打印字符串,这在我们用 Python 读取文件时特别有用,当我们读取文件时,默认情况下在行之间会得到一个空白行。

让我们看一个例子,有一个名为 rainbow.txt 的文件,其内容如下:

Python print() 函数,在同一行打印

代码:

fhand = open('rainbow.txt')
for line in fhand:
  print(line)

  
 
  • 1
  • 2
  • 3

在上面的代码中,我们使用了一个文件处理程序 fhand 来访问文件,接下来,我们使用 for 循环遍历这些行。

当我们打印内容时,结果如下:

Python print() 函数,在同一行打印

额外的空行是由于文件中每一行末尾都有 \n ,而 n\ 将光标移动到下一行,由于 print 函数也会默认会输出空白行,所以读取文件输出之后多出了一个空行。

假设我们想移除这些,要做到这一点,我们可以做一些改变。为此,我们需要更改 print 的默认行为,我们将在接下来的章节中详细讨论如何做到这一点。

选项 # 1-在打印函数中修改 end 的值

让我们在 print 函数中设置 end 的值,我们将它设置为空格,即 '' ,代码示例:

# Customizing the value of 'end'

print("This is string 1 same line", end=' ')
print("This is string 2 different line")

  
 
  • 1
  • 2
  • 3
  • 4

输出:

Python print() 函数,在同一行打印

现在我们可以看到, print 函数在末尾添加一个空白字符 '' ,而不是一个新行( \n )。

我们还可以提供另一个字符,而不是空格:

# Customizing the value of 'end' with a custom separator

print("This is string 1 same line", end=';')
print("This is string 2 different line")

  
 
  • 1
  • 2
  • 3
  • 4

输出:

Python print() 函数,在同一行打印

用法: 上面的示例只是用你设置的分隔字符在同一行上打印的一种方法。

让我们看看另一个例子,可以遍历一个列表,并用 end ='' 在同一行上打印它们。

# iterating lists

list_fruits = ['red','blue', 'green', 'orange']  
for i in list_fruits:  
    print(i, end = ' ')  

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

输出:

Python print() 函数,在同一行打印

选项 # 2-在文件中使用 rstrip ()删除空白

我们可以使用 strip() 删除字符串前后的某些字符,默认情况下,文件中的每一行末尾都有 \n ,由于我们只关心右边的字符,所以我们可使用 rstrip () ,它代表右边的字符,接下来我们将讨论 rstrip () 的一个示例。

你可以在这篇博文 中了解更多关于 strip () 方法的信息。

回到我们的文件打印示例

记住,我们讨论过一个文件打印示例,其中有多余的行被打印:

Python print() 函数,在同一行打印

让我们使用 rstrip () 稍微修改一下代码。

print("1. Removing extra blank line")

fhand = open('rainbow.txt')
for line in fhand:
  line=line.rstrip()
  print(line)

print("\n")

print("2. Printing all in the same line")
fhand = open('rainbow.txt')
for line in fhand:
  line=line.rstrip("\n")
  print(line, end = ' ')

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

输出

首先,我们用 rstrip () 删除了额外的空格,在下一步中,我们用 rstrip('\n')end ='' 再次删除额外的行,以便在一行中得到输出。

Python print() 函数,在同一行打印

文章来源: dream.blog.csdn.net,作者:梦想橡皮擦,版权归原作者所有,如需转载,请联系作者。

原文链接:dream.blog.csdn.net/article/details/123428093

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。