【python基础】—入门函数print()的参数解析及使用场景


一、print()函数

  • 功能

print()函数就是把一个或多个对象转换为其文本表达式形式,然后发送给标准输出流或者类似的文件流。

  • 语法

print(value, …, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)

  • 参数解析

value:要打印的值。可以一次输出多个对象,输出多个对象时,需要用 , 分隔。
sep:用来间隔多个对象,默认值是一个空格。
end:用来设定以什么结尾,默认值是一个目换行符 \n,可以换成其他字符串。
file:要写入的文件对象。
flush:是否立即刷新缓冲区。

  • print()打印输出文本

举例1:

# 单引号,单引号里可以用双引号,并可以将单引号打印出来。
print('"hey hey 学着聪明一点~"')

# 双引号,双引号可以用单引号,并可以将单引号打印出来 
print("we're trying we're laughing")

# 三引号,引用多行文本
print("""《庄子.齐物论》
昔者庄周梦为胡蝶 栩栩然胡蝶也
自喻适志与 不知周也
俄然觉 则蘧蘧然周也
不知周之梦为胡蝶与
胡蝶之梦为周也
""")

举例2:

# 相邻两项或多行打印用空格间隔 
print("我期待梦醒的时候 要做一只顺应快乐的蝴蝶")
print("我期待梦醒的时候","要做一只顺应快乐的蝴蝶")

#多行打印用逗号结尾
print("我期待梦醒的时候",)
print("要做一只顺应快乐的蝴蝶")

# 相邻两项或多行打印没有用间隔
print("我期待梦醒的时候""要做一只顺应快乐的蝴蝶")
print("我期待梦醒的时候"+"要做一只顺应快乐的蝴蝶")

二、区隔符—sep

  • 用sep参数来约束print括号里多项内容之间的区隔符。

举例:

print("我说我说","像手牵手","距离的噪音化为乌有",sep="&")

在这里插入图片描述

print("你说你说","我听个够","烦恼像跳蚤","指甲一掐","成末",se=".")

在这里插入图片描述

三、结束符号—end

  • print()函数中end参数指定了print()函数在打印完内容之后,用什么符号来表示结尾,默认值是"\n",表示换行,即print()函数打印完内容后,就会自动换行

举例:自动换行。

for i in range(0,6):
	print(i)

在这里插入图片描述

  • 打印后不换行,可以用end参数来设置你想要的结束符号。

举例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

在这里插入图片描述

四、内容写入文件—file

  • "file 参数"必须是一个具有 write(string) 方法的对象;默认值sys.stdout,sys.stdout也就是我们python中标准输出流,这个标准输出流默认是映射到打开脚本的窗口的。

举例:

print("123")

等价于

import sys 
sys.stdout.write(str(123)+'\n')
  • 修改file参数默认值,可以把我们打印操作重定向到其它地方,比如写入指定文件。

举例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)

在这里插入图片描述

五、缓冲输出设置—flush

  • 默认情况下的缓冲输出,flush=False。

举例1

import time

print("正在打印第一行...")
time.sleep(1) #模拟耗时操作
print("正在打印第二行...")

执行上面的代码,可以看到,两行输出的贼窝并没有立即刷新到控制台,而是等到程序结束或缓冲区满时才输出。这是因为默认情况下,flush参数的值为False,表示不立刻刷新缓冲区。

  • 立即刷新缓冲区,flush=True。

举例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

  • 27
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值