python之 print()函数的输出学问(函数解析以及格式化输出)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 前言:内容比较简单基础,但是很有用,方便。本篇主要针对print()函数的输出进行说明,所以不会构建长篇大论的大标题小标题。简洁明了!你是怎样用python的输出语句呢?是这样吗?下面展示一些 内联代码片。print("Hello World")1其实print函数的用途不止这些,输出也并不是只有有这样单调那么具体的根源,我们就看这个函数完整的形式喽

前言:内容比较简单基础,但是很有用,方便。本篇主要针对print()函数的输出进行说明,所以不会构建长篇大论的大标题小标题。简洁明了!


你是怎样用python的输出语句呢?

是这样吗?

下面展示一些 内联代码片。


print("Hello World")


其实print函数的用途不止这些,输出也并不是只有有这样单调

那么具体的根源,我们就看这个函数完整的形式喽!


print(*values, sep=' ', end='\n', file=sys.stdout, flush=False)


对各个参数进行分析


下面展示一些 内联代码片。


values :值,代表了你要输出的内容,比如你的hello world
sep : 打印出值得分割方式(具体看后面得代码演示)
end: 代表结束得方式(默认是'\n'结束,所以print()函数输出内容会自动换行)
file : 指定了输出内容到哪里,默认是到控制台,所以我们一般很自然就在控制台
看到我们的输出内容。
flush:代表了刷新方式(具体的我们在后面代码中说明)


1:对sep参数的解析


#values就不做过多的说明了,我们直接从step开始
print("你好","世界",sep="--");#前面的逗号分隔决定了你好和世界是两个字符串,指定sep的值是采用了什么符号对两个字符串进行分割。


输出结果如下:



还有一点说明,看代码


print("你好"+"世界",sep=",")#与上面的对比输出区分


输出结果如下:



可见并没有对你好世界进行分割,这样的原因是以加号进行的前面,先拼接为一个字符串,sep指定的分割是区别两个字符串的。不明白?看下面


print("你好"+"世界","hello",sep=",")


输出结果如下



2:对end参数的解析


#我们先这样输出
print("十年生死两茫茫")#end参数一般会默认\n,就是换行的意思,改变end参数的值观察输出效果
print("不思量,自难忘")


可以看到这边的print()是自动换行的


输出结果:



#然后我们这样输出
print("十年生死两茫茫",end=",")#end参数一般会默认\n,就是换行的意思,改变end参数的值观察输出效果
print("不思量,自难忘")


输出结果:



3:对file参数的解析


通常我们的输出会直接输出到终端,那么我现在要把我想要输出的内容直接输出到我的文件中,怎么做?看代码。


建立一个文件作为输出目标


我们现在要输出内容到这里面,看代码


File = open("D:\\python\\pydoc\\jgdabc_666\\1.txt",'w',encoding="utf-8")#这边指定编码,以防乱码
print("蒋光道要么变强,要么灭亡!",file=File)
File.close()


运行结果:


4flush参数的解析


看代码


#我们还是对文件进行一下输入内容
我采用了一种对文件操作的方式
while True : 
    File = open("D:\\python\\pydoc\\jgdabc_666\\1.txt",'w',encoding="utf-8")#这边指定编码,以防乱码
    print("蒋光道要么变强,要么灭亡!",file=File,flush=False)
    input()


说明,我这边采用了一个无限循环的方式,也就是对文件进行反复写入,我可以在文件中看到效果的动态变化(如果我们没有加入input的话,可以看到文件写入文件内容的动态变化效果)


这边说明input的作用


我这边其实想演示的就是flush刷新的作用,当你的文件没有关闭的话,flush参数指定为flase并不会写入文件,而是先写入缓存区,所以其实文件中暂且不会出现内容。我这边开始没有让文件关闭来着,但是我发现程序运行太快,自动执行完程序,文件就自动关闭了,那么我就先让程序处于一个等待我输入的状态,那么文件也就不会因为程序自动执行完而自动关闭。所以文件没有关闭的情况下,内容是不会写入的。



我的程序还在等待我输入,但是写入操作已经执行完毕了,但是因为flush指定参数的原因,内容没有写入文件,而是先写入了缓冲区。


while True : 
    File = open("D:\\python\\pydoc\\jgdabc_666\\1.txt",'w',encoding="utf-8")#这边指定编码,以防乱码
    print("蒋光道要么变强,要么灭亡!",file=File,flush=False)
    #input()


可以看到input()函数注释后就会写入了,即使是while死循环也阻止不了文件每次执行到底部的自动关闭,然后文件又自动打开,反复进行。while循环对全局是死循环,但是内部是一直在执行。



注意:这一点我是按照个人的理解进行的,如果读者觉得有问题可以提出或者指正。谢谢!


4格式化输出format占位格式


这边我们进行整体输出对比即可,然后我会对疑点进行说明


{} 与format() 函数进行配合,起到占位的作用,具体格式以及输出样子看代码


print("my name is{},and i love {}".format('jgdabc','programing'))#格式化输出,{}里面不带参数
print("{}is {}".format('jgdabc','蒋光道'))
print("{1} is {0}".format("jgdabc","蒋光道"))#{}指定参数,调换填入数据的前后顺序
print("{0} is {1} is {0}".format("jgdabc",'蒋光道'))#对输出的控制
print("{a} {b} {c}".format(a="hello",b="world",c="everyone"))#指定输出
print("{:5s} is {:>5s}".format("hello","world"))# 取位对齐
print("{:^10s} is {:^10s}".format("jgdabc","蒋光道")) #中间取位对齐
print("{0} is {0:1.2f}".format(1.231)) # 取数值的位数
print("{:.1f} and {:.2f}".format(1.23,1.32))
print("{0} is {0:b} ".format(2)) # 对数取进制
print("{0} is {0:g}".format(11111111))# g格式,数值太大,会以数的带e格式输出
print("{0} is {0:%}".format(1.21)) # 以百分格式输出


好,我们看输出结果



格式化占位f开头占位

看代码


name = "jgdabc"
age = 22
print(f'my name is {name}') # f格格式占位输出
print(f"my age is {age:.2f}")#f格式输出以及格式控制


输出结果 :



对print()函数的解析就到这里,我们常用的就是这些,当然还有其它的输出函数形式。如果对print()函数的格式话输出又疑问的话欢迎留言。


相关文章
|
1月前
|
Python
Python之函数详解
【10月更文挑战第12天】
Python之函数详解
|
15天前
|
算法 Python
Python 大神修炼手册:图的深度优先&广度优先遍历,深入骨髓的解析
在 Python 编程中,掌握图的深度优先遍历(DFS)和广度优先遍历(BFS)是进阶的关键。这两种算法不仅理论重要,还能解决实际问题。本文介绍了图的基本概念、邻接表表示方法,并给出了 DFS 和 BFS 的 Python 实现代码示例,帮助读者深入理解并应用这些算法。
28 2
|
24天前
|
测试技术 开发者 Python
深入浅出:Python中的装饰器解析与应用###
【10月更文挑战第22天】 本文将带你走进Python装饰器的世界,揭示其背后的魔法。我们将一起探索装饰器的定义、工作原理、常见用法以及如何自定义装饰器,让你的代码更加简洁高效。无论你是Python新手还是有一定经验的开发者,相信这篇文章都能为你带来新的启发和收获。 ###
14 1
|
24天前
|
设计模式 测试技术 开发者
Python中的装饰器深度解析
【10月更文挑战第24天】在Python的世界中,装饰器是那些能够为函数或类“添彩”的魔法工具。本文将带你深入理解装饰器的概念、工作原理以及如何自定义装饰器,让你的代码更加优雅和高效。
|
24天前
|
测试技术 数据安全/隐私保护 Python
探索Python中的装饰器:简化和增强你的函数
【10月更文挑战第24天】在Python编程的海洋中,装饰器是那把可以令你的代码更简洁、更强大的魔法棒。它们不仅能够扩展函数的功能,还能保持代码的整洁性。本文将带你深入了解装饰器的概念、实现方式以及如何通过它们来提升你的代码质量。让我们一起揭开装饰器的神秘面纱,学习如何用它们来打造更加优雅和高效的代码。
|
26天前
|
弹性计算 安全 数据处理
Python高手秘籍:列表推导式与Lambda函数的高效应用
列表推导式和Lambda函数是Python中强大的工具。列表推导式允许在一行代码中生成新列表,而Lambda函数则是用于简单操作的匿名函数。通过示例展示了如何使用这些工具进行数据处理和功能实现,包括生成偶数平方、展平二维列表、按长度排序单词等。这些工具在Python编程中具有高度的灵活性和实用性。
|
29天前
|
Python
python的时间操作time-函数介绍
【10月更文挑战第19天】 python模块time的函数使用介绍和使用。
31 4
|
30天前
|
存储 Python
[oeasy]python038_ range函数_大小写字母的起止范围_start_stop
本文介绍了Python中`range`函数的使用方法及其在生成大小写字母序号范围时的应用。通过示例展示了如何利用`range`和`for`循环输出指定范围内的数字,重点讲解了小写和大写字母对应的ASCII码值范围,并解释了`range`函数的参数(start, stop)以及为何不包括stop值的原因。最后,文章留下了关于为何`range`不包含stop值的问题,留待下一次讨论。
22 1
|
1月前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
|
30天前
|
安全 数据处理 数据安全/隐私保护
python中mod函数怎么用
通过这些实例,我们不仅掌握了Python中 `%`运算符的基础用法,还领略了它在解决实际问题中的灵活性和实用性。在诸如云计算服务提供商的技术栈中,类似的数学运算逻辑常被应用于数据处理、安全加密等关键领域,凸显了基础运算符在复杂系统中的不可或缺性。
21 0

推荐镜像

更多