在谈论 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)
复制 dict,而 str.format_map(mapping)
在方法调用期间创建一个新字典。如果您正在使用 dict
子类,这会很有用。
format_map()
的语法是
str.format_map(mapping)
format_map 参数
format_map()
接受一个参数 mapping(字典)
。
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() 如何与 dict 子类一起工作?
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)
更灵活,因为您可以有缺失的键。
另请阅读