Python print() 函数将消息打印到屏幕或任何其他标准输出设备。
句法:
print(value(s), sep= ' ', end = '\n', file=file, flush=flush)
参数:
返回类型:它将输出返回到屏幕。
虽然没有必要在 print() 函数中传递参数,但它需要在末尾有一个空括号,告诉 python 执行该函数而不是通过名称调用它。现在,让我们探讨可与 print() 函数一起使用的可选参数。
python 的 print 语句中的字符串文字主要用于格式化或设计特定字符串在使用 print() 函数打印时的显示方式。
例子:
print("GeeksforGeeks \n is best for DSA Content.")
输出:
GeeksforGeeks is best for DSA Content.
end 关键字用于指定 print() 函数执行结束时要打印的内容。默认设置为“\n”,导致执行print()语句后换行。
示例:没有换行的 Python print()
# This line will automatically add a new line before the # next print statement print ("GeeksForGeeks is the best platform for DSA content") # This print() function ends with "**" as set in the end argument. print ("GeeksForGeeks is the best platform for DSA content", end= "**") print("Welcome to GFG")
GeeksForGeeks is the best platform for DSA content GeeksForGeeks is the best platform for DSA content**Welcome to GFG
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 秒浪费,如下所示:
尽管缓冲有一定的作用,但它可能会导致如上所示的不良影响。为了解决同样的问题,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')
视频播放器
00:00
00:10
print() 函数可以接受任意数量的位置参数。为了分隔这些位置参数,使用关键字参数“sep”。
注意:由于 sep 、 end 、 flush 、 file 是关键字参数,它们的位置不会改变代码的结果。
a=12 b=12 c=2022 print(a,b,c,sep="-")
12-12-2022
位置参数不能出现在关键字参数之后。在下面的示例中,10、20和30是位置参数,其中sep=' – '是关键字参数。
print(10, 20, sep=' - ', 30)
File "0b97e8c5-bacf-4e89-9ea3-c5510b916cdb.py", line 1 print(10, 20, sep=' - ', 30) ^ SyntaxError: positional argument follows keyword argument
与流行的看法相反,print() 函数不会将消息转换为屏幕上的文本。这些是由较低级别的代码层完成的,它们可以以字节为单位读取数据(消息)。print() 函数是这些层上的接口,它将实际打印委托给流或类似文件的对象。默认情况下,print() 函数通过文件参数 绑定到sys.stdout 。
import io # declare a dummy file dummy_file = io.StringIO() # add message to the dummy file print('Hello Geeks!!', file=dummy_file) # get the value from dummy file dummy_file.getvalue()
'Hello Geeks!!\n'
print('Welcome to GeeksforGeeks Python world.!!', file=open('Testfile.txt', 'w'))
% nano Testfile.txt ----------------------------------------------------------------------------------------------- UW PICO 5.09 File: Testfile.txt Welcome to GeeksforGeeks Python world.!! ^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos ^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
# Python 3.x program showing # how to print data on # a screen # One object is passed print("GeeksForGeeks") x = 5 # Two objects are passed print("x =", x) # code for disabling the softspace feature print('G', 'F', 'G', sep='') # using end argument print("Python", end='@') print("GeeksforGeeks")
GeeksForGeeks x = 5 GFG Python@GeeksforGeeks
原文链接:codingdict.net