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) 复制 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) 更灵活,因为您可以有缺失的键。


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战