str.format() 格式化字符串
最后更新:2026-09-22
str.format() 格式化字符串
str.format(*args, **kwargs) 用占位符 {} 替换成 args/kwargs。
| 分类 | 字符串方法 |
|---|---|
| 类型 | 内建类型方法 |
| Python 版本 | all |
📝 语法
str.format(...)
⚙️ 参数
| args 可选 | 可变位置参数,依次对应 {} 或 {0} 占位符。 |
|---|---|
| kwargs 可选 | 可变关键字参数,对应 {name} 命名占位符。 |
返回值:str。用 args/kwargs 替换占位符后得到的新字符串。
是否修改原对象:否(返回新对象)
💥 异常
IndexError— 位置占位符索引超出提供的参数个数时抛出。KeyError— 占位符中的字段名在 kwargs 中不存在时抛出。ValueError— 格式说明符非法或字段引用语法错误时抛出。
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
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() 适合模板存放在变量里、需要动态构造格式串的场景。