Python 教程之输入输出(6)—— 使用 print() 函数输出

举报
海拥 发表于 2023/03/25 20:06:02 2023/03/25
【摘要】 Python print() 函数将消息打印到屏幕或任何其他标准输出设备。语法:  print(value(s), sep= ’ ', end = ‘\n’, file=file, flush=flush)参数:value(s) : 任何值,只要你喜欢。打印前将转换为字符串sep=‘separator’ :( 可选)指定如何分隔对象,如果有多个。默认值:’ ’end=‘end’:( 可选)指...

Python print() 函数将消息打印到屏幕或任何其他标准输出设备。

语法:  print(value(s), sep= ’ ', end = ‘\n’, file=file, flush=flush)

参数:

  • value(s) : 任何值,只要你喜欢。打印前将转换为字符串
  • sep=‘separator’ :( 可选)指定如何分隔对象,如果有多个。默认值:’ ’
  • end=‘end’:( 可选)指定最后要打印的内容。默认值:’\n’
  • file :( 可选)具有 write 方法的对象。默认:sys.stdout
  • flush :( 可选)布尔值,指定输出是刷新(True)还是缓冲(False)。默认值:假

返回: 它将输出返回到屏幕。

虽然不需要在 print() 函数中传递参数,但它需要在末尾有一个空括号,告诉 python 执行函数而不是按名称调用它。现在,让我们探索可用于 print() 函数的可选参数。

字符串文字

python 的 print 语句中的字符串文字主要用于格式化或设计特定字符串在使用 print() 函数打印时的显示方式。

  • \n : 此字符串文字用于在打印语句时添加新的空白行。
  • “”: 空引号(“”)用于打印空行。

例子:

print("huawei \n is best for DSA Content.")

输出:

huawei 
 is best for DSA Content.

结束=“”声明

end 关键字用于指定在 print() 函数执行结束时要打印的内容。默认设置为“\n”,这会导致 print() 语句执行后换行。

示例:没有换行的 Python print()。

# 此行将在下一个打印语句之前自动添加一个新行
print ("huawei is the best platform for DSA content")

# 此 print() 函数以最后设置的“**”结尾argument.
print ("huawei is the best platform for DSA content", end= "**")
print("Welcome to JJ")

输出:

huawei is the best platform for DSA content
huawei is the best platform for DSA content**Welcome to JJ

刷新参数

python 中的 I/O 通常是缓冲的,这意味着它们以块的形式使用。这就是flush的用武之地,因为它可以帮助用户决定是否需要缓冲写入的内容。默认情况下,它设置为 false。如果设置为 true,则输出将被写为一个接一个的字符序列。这个过程很慢,因为它更容易分块写入而不是一次写入一个字符。为了理解 print() 函数中 flush 参数的用例,我们举个例子。

例子:

想象一下,您正在构建一个倒数计时器,它每秒将剩余时间附加到同一行。它看起来像下面这样:

3>>>2>>>1>>>Start

初始代码如下所示;

import time

count_seconds = 3
for i in reversed(range(count_seconds + 1)):
	if i > 0:
		print(i, end='>>>')
		time.sleep(1)
	else:
		print('Start')

因此,上面的代码添加了没有尾随换行符的文本,然后在每次添加文本后休眠一秒钟。在倒计时结束时,它会打印 Start 并终止该行。如果您按原样运行代码,它会等待 3 秒并突然打印整个文本。这是由于文本块的缓冲造成的 3 秒的浪费,如下所示:

CommandPrompt202012221608.gif

尽管缓冲是有目的的,但它可能会导致如上所示的不良影响。为了解决同样的问题,flush 参数与 print() 函数一起使用。现在,将 flush 参数设置为 true 并再次查看结果。

import time

count_seconds = 3
for i in reversed(range(count_seconds + 1)):
	if i > 0:
		print(i, end='>>>', flush = True)
		time.sleep(1)
	else:
		print('Start')

输出:

3>>>2>>>1>>>Start

分隔器

print() 函数可以接受任意数量的位置参数。这些参数可以使用 “,”分隔符相互分隔。这些主要用于在单个 print() 函数中格式化多个语句。

例子:

b = "for"

print("Haiyong", b , "Code")

输出:

Haiyong for Code

文件参数

与流行的看法相反,print() 函数不会将消息转换为屏幕上的文本。这些是由较低级别的代码层完成的,可以以字节为单位读取数据(消息)。print() 函数是这些层上的一个接口,它将实际打印委托给流或类似文件的对象。默认情况下,print() 函数通过 file 参数 绑定到sys.stdout 。

示例:Python print() 到文件

import io

# 声明一个虚拟文件
dummy_file = io.StringIO()

# 将消息添加到虚拟文件
print('Hello Code!!', file=dummy_file)

# 从虚拟文件中获取值
dummy_file.getvalue()

输出:

'Hello Code!!\n'

示例: 在 Python 中使用 print() 函数

# 显示如何在屏幕上打印数据的 Python 3.x 程序

# 一个对象通过
print("Haiyong")

x = 5
# 传递了两个对象
print("x =", x)

# 禁用软空间功能的代码
print('H', 'Y', 'G', sep='')

# 使用结束参数
print("Python", end='@')
print("Haiyong")

输出:

Haiyong 
x = 5 
HYG 
Python@Haiyong
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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