str.format() 格式化字符串

最后更新:2026-09-22

str.format() 格式化字符串

str.format(*args, **kwargs) 用占位符 {} 替换成 args/kwargs。

分类字符串方法
类型内建类型方法
Python 版本all

📝 语法

str.format(...)

⚙️ 参数

args 可选可变位置参数,依次对应 {} 或 {0} 占位符。
kwargs 可选可变关键字参数,对应 {name} 命名占位符。

返回值:str。用 args/kwargs 替换占位符后得到的新字符串。

是否修改原对象:否(返回新对象)

💥 异常

▶ 示例

编辑下方代码,点击运行,在输出面板查看结果:

运行结果:

Hello, World!
Alice is 30
更多实战案例即将上线,敬请期待。

❓ 常见问题

Q{} 占位符有哪几种写法?
A三种:{} 按位置自动匹配、{0}/{1} 按索引、{name} 按关键字。例如 '{0}-{name}'.format(1, name='x') 得到 '1-x'。
Q占位符和参数对不上会报什么错?
A位置占位符索引超出参数个数抛 IndexError;{name} 找不到对应关键字抛 KeyError;格式说明符写错抛 ValueError。
Q想输出字面的 {} 怎么转义?
A用双花括号:'{{}}'.format() 得到 '{}'。
Q和 f-string 比应该用哪个?
A大部分场景优先用 f-string(Python 3.6+),更直观。format() 适合模板存放在变量里、需要动态构造格式串的场景。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏