str.format_map() 用映射对象格式化
最后更新:2026-09-22
str.format_map() 用映射对象格式化
str.format_map(mapping) 用 mapping 对象(替代 **kwargs)格式化字符串。
| 分类 | 字符串方法 |
|---|---|
| 类型 | 内建类型方法 |
| Python 版本 | all |
📝 语法
str.format_map(mapping)
⚙️ 参数
| mapping 必选 | 提供字段值的映射对象,等价于 **kwargs。 |
|---|
返回值:str。用 mapping 中的字段值替换占位符后得到的新字符串。
是否修改原对象:否(返回新对象)
💥 异常
KeyError— 占位符中的字段名在 mapping 中不存在时抛出。ValueError— 格式说明符非法时抛出。
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
Alice is 30
💡 相关案例
更多实战案例即将上线,敬请期待。
❓ 常见问题
Qformat_map() 和 format(**dict) 的区别?
Aformat_map() 直接接收映射对象,不把字典展开成关键字参数。配合 dict 子类(如实现 __missing__ 的 defaultdict)可以在键缺失时提供默认值。
Q键不存在会怎样?
A抛 KeyError。可以通过自定义 dict 子类实现 __missing__ 来返回默认值。
Q传非映射对象会怎样?
A会抛异常(对象不支持取值时抛 TypeError 或 AttributeError)。参数必须提供字段值查询能力。