赞
踩
print()函数就是把一个或多个对象转换为其文本表达式形式,然后发送给标准输出流或者类似的文件流。
print(value, …, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)
value:要打印的值。可以一次输出多个对象,输出多个对象时,需要用 , 分隔。
sep:用来间隔多个对象,默认值是一个空格。
end:用来设定以什么结尾,默认值是一个目换行符 \n,可以换成其他字符串。
file:要写入的文件对象。
flush:是否立即刷新缓冲区。
举例1:
# 单引号,单引号里可以用双引号,并可以将单引号打印出来。
print('"hey hey 学着聪明一点~"')
# 双引号,双引号可以用单引号,并可以将单引号打印出来
print("we're trying we're laughing")
# 三引号,引用多行文本
print("""《庄子.齐物论》
昔者庄周梦为胡蝶 栩栩然胡蝶也
自喻适志与 不知周也
俄然觉 则蘧蘧然周也
不知周之梦为胡蝶与
胡蝶之梦为周也
""")
举例2:
# 相邻两项或多行打印用空格间隔
print("我期待梦醒的时候 要做一只顺应快乐的蝴蝶")
print("我期待梦醒的时候","要做一只顺应快乐的蝴蝶")
#多行打印用逗号结尾
print("我期待梦醒的时候",)
print("要做一只顺应快乐的蝴蝶")
# 相邻两项或多行打印没有用间隔
print("我期待梦醒的时候""要做一只顺应快乐的蝴蝶")
print("我期待梦醒的时候"+"要做一只顺应快乐的蝴蝶")
举例:
print("我说我说","像手牵手","距离的噪音化为乌有",sep="&")
print("你说你说","我听个够","烦恼像跳蚤","指甲一掐","成末",se=".")
举例:自动换行。
for i in range(0,6):
print(i)
举例1:
print("行板如歌",end=" ")
print("歌里在等")
print("等你来和",end=" ")
print("和一篇雨季解渴")
从上面的例子,可以看到,如果我们设置end参数为空格,那么两个print()函数之间会用空格来连接;如果我们没有设置end参数,那么两个print()函数之间就会默认分行。
举例2:
print("我说我说",end="|")
print("像手牵手",end="|")
print("距离的噪音化为乌有",end="|")
举例3:
n=90
print(n,'=',end=' ')
i=2
while n != 1:
if n % i ==0:
n //=i
if n ==1:
print('{:d}'.format(i))
else:
print('{:d} *'.format(i),end =' ')
else:
i +=1
举例:
print("123")
等价于
import sys
sys.stdout.write(str(123)+'\n')
举例1:
print("一如当年 欲望无邪 生死相约 这相思漫漫无边界像迷失的蝴蝶",file=open("file.txt","w"))
运行后,在默认文件所在的目录中,出现了一个file.txt文件,打开file.txt文件,会发现里面的内容是:
一如当年 欲望无邪 生死相约 这相思漫漫无边界像迷失的蝴蝶
with open("file.txt","r") as f:
a = f.read()
print(a)
运行后,读取file.txt文件,里面的内容如上 ,说明print()函数写入成功。
举例2:
for i in range(1,11):
print(i,'\t',i*2,'\t',i*3,'\t',i*4,end='\n',file=open("file.txt","a",encoding="utf-8"),flush=False)
运行后,读取file.txt文件,里面的内容如下 ,说明print()函数写入成功。
with open("file.txt","r") as f:
a = f.read()
print(a)
举例1
import time
print("正在打印第一行...")
time.sleep(1) #模拟耗时操作
print("正在打印第二行...")
执行上面的代码,可以看到,两行输出的贼窝并没有立即刷新到控制台,而是等到程序结束或缓冲区满时才输出。这是因为默认情况下,flush参数的值为False,表示不立刻刷新缓冲区。
举例1:
import time
print("正在打印第一行...",flush=True)
time.sleep(1)
print("正在打印第二行...",flush=True)
将flush参数的值设为True,表示立即刷新缓冲区,执行上面的代码,可以看到,会立即将已经缓冲的内容输出到控制台。这样我们就可以实时看到输出结果。
举例2:
import time
for i in range(10):
print(i,end=" ",flush=True)
time.sleep(1)
我们使用了一个循环来输出0到9的数字,每次输出后都立即刷新缓冲区。
这样即使在每次循环中有耗时操作,也不会影响后续输出的效率。通过设置flush参数为True,我们可以在不影响性能的情况下实时看到输出结果。
参考文章:
print()函数的用法(全)
print语句和flush()方法
python的print与sys.stdout
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。