Python中print格式化输出的三种方式详解
本文详细讲解Python中print格式化输出的三种主要方式:f-string、占位符(%)以及format方法。通过具体代码示例,对比了它们在语法结构、适用场景及性能表现上的差异,并指出了数据类型匹配与类型转换的注意事项,帮助开发者选择最适合的格式化方案。
前言
各位读者下午好。本次改版后的第4.5章阅读量似乎偏低,或许与更新延迟有关。为了保持持续输出的习惯,今天继续深入讲解第五章:print格式化输出。在撰写第三章时曾提及其中一种方式,即结合 f 和 {} 的用法。此前有读者在评论区对此表示疑惑,因此本文将详细解析该用法,并补充其他格式化方式,开始今日的学习。
提示:以下是本文正文内容,后续案例仅供参考。
一、f-String格式化
所谓格式化输出,是指构建一个可嵌入变量内容的字符串。若不进行格式化,变量名将作为普通文本直接打印,无法体现其动态作用。接下来介绍前文提及的 f-String 格式化。其语法格式为 f" … {} … ",其中变量需置于 {} 内,且字符串开头必须添加字符 f。这里的 f 代表 format(格式化),该组合是固定的,缺一不可。若仅写 f 而未在中间使用 {},代码仍可执行,但不会调用任何变量。
name = "痴月熊"
name2 = "憨憨熊"
age = 18
age2 = 19
print(f"{name}:下午好各位,我是{name},{age}的文艺小青年。这是我铁子{name2},他{age2},请多关照")
print(f"{name2}:嗷嗷嗷~")
RUN:
痴月熊:下午好各位,我是痴月熊,18的文艺小青年。这是我铁子憨憨熊,他19,请多关照 憨憨熊:嗷嗷嗷~
二、占位符
首先查看下表,列举常见的占位符号。
| 符号 | 意义 |
|---|---|
| %d | 整数 |
| %f | 浮点数 |
| %s | 字符串 |
占位符顾名思义,是在字符串中预留位置以插入变量。具体格式为 print("…%d…" % (变量)),以下通过练习展示效果。
name = "憨憨熊"
once = 1
num = 4.2
print("%s 最喜欢的事情就是打游戏,他最擅长的还是动作冒险类" % name)
print("魂斗罗他甚至只需要 %d 条命就可以通关" % once)
print("即使他两个眼睛都已经%f度了,还是不能放下游戏机" %num)
RUN:
憨憨熊 最喜欢的事情就是打游戏,他最擅长的还是动作冒险类 魂斗罗他甚至只需要 1 条命就可以通关 即使他两个眼睛都已经4.200000度了,还是不能放下游戏机
效果如上,也可以将多个变量放在一起测试。
name = "憨憨熊"
once = 1
num = 4.2
print("""
%s 最喜欢的事情就是打游戏,他最擅长的还是动作冒险类.
魂斗罗他甚至只需要 %d 条命就可以通关.
即使他两个眼睛都已经%f度了,还是不能放下游戏机
""" % (name,once,num))
RUN:
憨憨熊 最喜欢的事情就是打游戏,他最擅长的还是动作冒险类. 魂斗罗他甚至只需要 1 条命就可以通关. 即使他两个眼睛都已经4.200000度了,还是不能放下游戏机
使用占位符时,需明确变量的数据类型。若指定 %d 却传入字符串,程序会报错;若数字作为字符串处理,使用 %s 也可执行。为便于阅读,建议根据数据类型选择对应的占位符。此外,若占位符为 %d 而传入浮点数,数值会被强制转换为整数;反之,若占位符为 %f 而传入整数,则会补零显示小数部分。示例如下:
num1 = 4.2
num2 = 4
print("%d" % num1)
print("%f" % num2)
RUN:
4 4.000000
三、format格式化
第三种方式是利用 format 函数,在Python中也称为方法。基本语法是在字符串中写入 {},最后在字符串末尾调用 .format 方法,将变量插入到 {} 中。其外观与 f-string 类似,但 format 格式化在 Python 2.6 中引入,而 f-string 是在 Python 3.6 中新增的特性。个人而言,format 方法在插入多个变量时往往需要在末尾编写大量参数,略显繁琐,因此更推荐前两种用法。以下展示其效果。
name1 = "痴月熊"
name2 = "憨憨熊"
time = 12
num = 2
print("此时半夜{}点:\"呜呜呜, {}.\"".format(time,name1))
print("{name2},大晚上{time}点的,你在瞎叫啥".format(time=time, name2=name2))
print("我居然花了{}条命才过这个关卡".format(num))
print(f"{name1}心里独白:这玩意能一条命就过去的才不是正常熊吧。".format(name1=name1))
print("<玛丽奥制造>....")
RUN:
此时半夜12点:"呜呜呜, 痴月熊." 憨憨熊,大晚上12点的,你在瞎叫啥 我居然花了2条命才过这个关卡 痴月熊心里独白:这玩意能一条命就过去的才不是正常熊吧。 <玛丽奥制造>....
总结
我个人更偏好使用 f-string 格式化,但了解其他方法仍有必要。本章内容与第4.5章同步编写,资料与练习一并整理。总结部分可直接沿用上一章内容,因此今日总结即为:奥利给!又是充满激情的一天,溜了溜了~
到此这篇关于python中print格式化输出的文章就介绍到这了,更多相关python print格式化输出内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













