字符串格式化通过f-string、.format()和%三种方式,将变量动态插入文本,提升可读性、维护性与安全性,并支持精度控制、对齐、进制转换等格式化功能。

字符串格式化是为了把变量、表达式或数据动态地插入到文本中,让输出更灵活、可读性更强,也更容易维护。
避免拼接混乱
不用格式化时,常靠 + 拼接字符串和变量,容易出错:类型不匹配会报错,数字要手动转 str(),空格和标点也容易漏。比如:
name = "小明"; age = 25
print("姓名:" + name + ",年龄:" + str(age) + "岁")
而用格式化(如 f-string)就简洁安全:
立即学习“Python免费学习笔记(深入)”;
print(f"姓名:{name},年龄:{age}岁")
本文档是python学习笔记与简明教程;为什么用Python作为编程入门语言?每种语言都会有它的支持者和反对者。去Google一下“why python”,你会得到很多结果,诸如应用范围广泛、开源、社区活跃、丰富的库、跨平台等等等等,也可能找到不少对它的批评,格式死板、效率低、国内用的人很少之类。不过这些优缺点的权衡都是程序员们的烦恼。作为一个想要学点编程入门的初学者来说,简单才是最重要的。当学C++的同学还在写链表,学Java的同学还在折腾运行环境的时候,学Pyt
提升可读性和维护性
当输出内容变长、变量增多,拼接方式很快变得难读难改。格式化把“模板”和“数据”分离,结构清晰。例如打印用户信息:
- f-string 直观显示哪些位置要插值
- .format() 支持命名占位符,比如 "{name}今年{age}岁".format(name="小红", age=30),顺序无关,逻辑更清楚
- % 格式化虽旧但仍在日志等场景中使用,语法紧凑
支持格式控制,不止是“塞进去”
格式化能直接控制数值精度、对齐方式、进制、日期等。比如:
- f"{3.14159:.2f}" → "3.14"(保留两位小数)
- f"{42:04d}" → "0042"(补零到4位整数)
- f"{datetime.now():%Y-%m-%d}" → "2024-06-12"(格式化日期)
这些在纯拼接里需要额外调用函数或写一堆逻辑,格式化一步到位。
适配不同场景和团队习惯
Python 提供多种格式化方式(f-string、.format()、%),不是为了重复造轮子,而是满足不同需求:
- f-string(Python 3.6+)最快最推荐,适合日常开发
- .format() 支持复用模板,适合国际化或多语言场景(如提前定义消息模板再填参)
- % 格式化兼容老代码,且和 C 风格一致,在某些底层或日志库中仍有使用惯性
统一用格式化,也方便团队协作和代码审查——谁都能一眼看懂哪部分是静态文本、哪部分是动态值。










