print函数是Python 3中内置的一种常用函数,主要的功能是打印输出,无返回值。
print函数与文件和流的关系:
在Python 3中,print语句实现打印输出,实际上是把一个或多个对象转换为文本表达式形式,然后发送给标准输出流或者类似的文件流。
print默认的file是sys.stdout,实际上print函数是对sys.stdout的高级封装。
print函数的语法规则如下:
print(*object,sep=' ',end='\n',file=sys.stdout,flush=False)
objects -> 可以为一个或多个对象,输出多个对象时,需要用逗号分隔
sep -> 用来间隔多个对象,默认值是一个空格
end -> 用来设定结尾方式,默认值是换行符 \n ,也可以换成其他字符串
file -> 要写入的文件对象
flush -> 输出是否被缓存通常由file决定,但是如果flush参数设置为True,则会强制刷新流
以下给出print函数的几种用法实例:
1.使用print函数进行普通输出
# 1.使用print函数进行普通输出
print('Output test !')
# Result
Output test !
2.使用print函数输出多个对象
# 2.使用print函数输出多个对象
Demo_output_0='a'
Demo_output_1='test'
Demo_output_2='2233'
print(Demo_output_0,Demo_output_1,Demo_output_2)
# Result
a test 2233
3.使用print函数输出多个对象,并以@符号作为间隔
# 3.使用print函数输出多个对象,并以@符号作为间隔
Demo_output_0='a'
Demo_output_1='test'
Demo_output_2='2233'
print(Demo_output_0,Demo_output_1,Demo_output_2,sep='@')
# Result
a@test@2233
4.使用print函数进行普通输出,并以#符号作为结尾
# 4.使用print函数进行普通输出,并以#符号作为结尾
print('Output test !',end='###\n')
# Result
Output test !###
5.使用print函数将普通输出写入到文件中
# 5.使用print函数将输出写入到文件中
print('Output test !',file=open(r'./Print_result.txt','w'))
Result:
6.print函数中的flush
flush的功能是:强制输出缓冲区中的数据,清空缓冲区。
在print中,flush默认为False。
在print函数中,进入读写流中的数据先被存放到内存中的缓冲区,再写入,如果中途流被close()函数关闭,则缓冲区中的数据会丢失。
# 6.print函数中的flush
import time
for i in range(10):
print(i)
time.sleep(0.2)
print('\nFlush==False')
for i in range(10):
print(i,end=' ')
time.sleep(0.2)
print('\nFlush==True')
for i in range(10):
print(i,end=' ',flush=True)
time.sleep(0.2)
# Result
0
1
2
3
4
5
6
7
8
9
Flush==False
0 1 2 3 4 5 6 7 8 9
Flush==True
0 1 2 3 4 5 6 7 8 9
可以看出,Flush==False时,print函数的输出是不匀速的,而设置Flush==True后,print函数保持匀速的输出。
Reference: