
本文整理 Python 四种主流字符串拼接/格式化方法 加号拼接、f-string 格式化、% 占位符格式化、format() 格式化包含完整语法、案例、细节注意点。重点 format() 格式化 中关键字命名占位一、 加号拼接基础拼接核心规则直接使用连接多个字符串重点只能拼接字符串类型数字、浮点数等非字符串类型必须用str()强制转换实战代码name小李age20# 非字符串变量通过 str() 转换后拼接print(姓名name年龄str(age))运行结果姓名小李年龄20二、f-string 格式化推荐、最简核心规则语法f字符串{变量/表达式}支持直接嵌入变量、运算表达式、格式控制无需手动类型转换可读性最强Python3.6 推荐使用实战代码name小李age20height1.73# 支持变量、表达式运算、小数精度控制print(f姓名{name}年龄{age-1}身高:{height:.2f})运行结果姓名小李年龄19身高: 1.73三、% 占位符格式化传统写法通过不同占位符匹配对应数据类型严格校验类型类型不匹配会直接报错。1、%s 字符串占位符适配字符串类型数据title大白菜print(蔬菜%s%title)输出蔬菜大白菜2、%d 整数占位符仅支持数字类型传字符串直接报错传入浮点数会自动舍弃小数只保留整数位total7print(总价%d元%total)输出总价7元3、%f 浮点数占位符仅支持数字类型传字符串直接报错传入整数会自动补0展示为浮点数进阶格式%m.nf—— 总宽度m位包含小数点保留n位小数price19.99# 总宽度5位保留2位小数print(价格为%5.2f%price)输出价格为19.99四、format() 格式化通用、功能强大str.format()是进阶字符串格式化工具以{}为占位符替代繁琐的 % 写法可读性更高、支持参数复用、适配多场景是项目常用写法。写法1无编号按位置传参顺序匹配{}不写数字参数按传入顺序依次填充text姓名{}年龄{}restext.format(张三,24)print(res)输出姓名张三年龄24写法2数字编号占位参数复用、调整顺序通过数字编号指定参数位置支持同一个参数多次复用text{0}今年{1}岁{0}从事开发工作restext.format(小李,26)print(res)输出小李今年26岁小李从事开发工作写法3关键字命名占位最常用、可读性强通过参数名精准匹配无需关注顺序适合参数较多的场景text公司{company}行业{industry}restext.format(company阿里云,industry人工智能)print(res)输出公司阿里云行业人工智能写法4传入字典批量填充通过**解包字典批量匹配占位符高效填充多组数据info{title:分析师报告,content:AI行业持续增长}text文档类型{title}内容{content}restext.format(**info)print(res)输出文档类型分析师报告内容AI行业持续增长写法5对象属性填充支持直接访问对象属性填充到字符串中适配面向对象场景classDoc:def__init__(self):self.type公司公告self.msg完成AI企业并购dDoc()res文件{doc.type}详情{doc.msg}.format(docd)print(res)输出文件公司公告详情完成AI企业并购五、四种方法优缺点总结方法优点缺点适用场景 加号拼接简单直观新手易上手需手动类型转换多变量拼接繁琐少量简单字符串拼接f-string语法简洁、无需转义、支持运算格式化、可读性拉满仅 Python3.6 支持日常开发、绝大多数场景首选% 占位符语法经典、兼容老旧代码类型校验严格、可读性差、不支持参数复用维护老旧项目format()功能全面、支持多传参方式、兼容性好语法比f-string稍繁琐多参数、动态填充、兼容低版本Python