跳到主要内容

Python 字符串 format_map() 方法

在讨论 format_map() 之前,让我们先看看 str.format(**mapping) 是如何用于 Python 字典 的。

point = {'x':4,'y':-5}
print('{x} {y}'.format(**point))

输出

4 -5

了解更多关于 如何在 Python 中格式化字符串?

format_map(mapping) 类似于 str.format(**mapping) 方法。

唯一的区别是 str.format(**mapping) 会复制字典,而 str.format_map(mapping) 在方法调用时会创建一个新的字典。这在你处理字典子类时可能会很有用。

format_map() 的语法是:

str.format_map(mapping)

format_map 参数

format_map() 接受单个参数 mapping(dictionary)

format_map() 返回值

format_map() 格式化给定的字符串并返回它。

示例 1:format_map() 如何工作?

point = {'x':4,'y':-5}
print('{x} {y}'.format_map(point))

point = {'x':4,'y':-5, 'z': 0}
print('{x} {y} {z}'.format_map(point))

输出

4 -5
4 -5 0

示例 2:format_map() 如何与字典子类一起工作?

class Coordinate(dict):
def __missing__(self, key):
return key

print('({x}, {y})'.format_map(Coordinate(x='6')))
print('({x}, {y})'.format_map(Coordinate(y='5')))
print('({x}, {y})'.format_map(Coordinate(x='6', y='5')))

输出

(6, y)
(x, 5)
(6, 5)

format_map(mapping)format(**mapping) 更灵活,因为你可以有缺失的键。