在Python编程中,拼接或格式化字符串是高频操作——比如输出用户信息、生成动态文本、拼接带变量的日志内容等。直接用+拼接字符串不仅代码冗余,还容易出现类型不匹配问题,而Python提供的字符串格式化方法能高效解决这类问题。
本节系统讲解Python中4种主流的字符串格式化方法,覆盖所有实用场景:
- 百分号(%)格式化:传统格式化方式,兼容早期Python版本;
- str.format()方法:进阶格式化方式,灵活性更高;
- f-string(格式化字符串字面值):Python3.6+推荐用法,简洁且高效;
- 模板字符串(string.Template):安全场景下的格式化方式;
- 各方法对比:适用场景、性能、可读性分析,以及避坑要点。
掌握字符串格式化后,你能轻松构建动态文本,避免类型拼接错误,同时让代码更简洁易维护。
文章目录
- 一、前置引入:为什么需要字符串格式化?
- 二、核心方法1:百分号(%)格式化(传统方式)
- 1. 基础语法
- 格式符说明(常用)
- 2. 核心示例
- 示例1:基础变量格式化
- 示例2:格式控制(对齐、填充)
- 3. 优缺点
- 三、核心方法2:str.format()方法(进阶方式)
- 1. 基础语法
- 2. 核心示例
- 示例1:按位置匹配
- 示例2:按名称匹配
- 示例3:格式控制(对齐、填充、精度)
- 3. 优缺点
- 四、核心方法3:f-string(Python3.6+推荐)
- 1. 基础语法
- 核心特点:
- 2. 核心示例
- 示例1:基础变量格式化
- 示例2:支持表达式与函数调用
- 示例3:复杂格式控制
- 3. 优缺点
- 五、补充方法:模板字符串(string.Template)
- 1. 基础语法
- 2. 核心示例
- 3. 优缺点
- 六、各格式化方法对比与推荐用法
- 核心推荐:
- 七、避坑要点
- 1. 百分号格式化的类型匹配问题
- 2. f-string的引号嵌套问题
- 3. 格式控制的精度四舍五入问题
- 八、实战案例:用户信息格式化输出
- 九、总结
- 专栏订阅
一、前置引入:为什么需要字符串格式化?
直接使用+拼接字符串存在明显弊端:
# 问题1:类型不匹配(整数无法直接与字符串拼接)name="张三"age=20# print("姓名:" + name + ",年龄:" + age) # TypeError: can only concatenate str (not "int") to str# 问题2:代码冗余(多变量拼接时可读性差)math_score=85english_score=92print(