将字符串格式设置功能用于字典

在有些情况下,通过在字典中存储一系列命名的值,可让格式设置更容易些。
例如,可在字典中包含各种信息,这样只需在格式字符串中提取所需的信息即可。
为此,必须使用 format_map 来指出你将通过一个映射来提供所需的信息。

>>> phonebook = {'Beth': '9102', 'Alice': '2341', 'Cecil': '3258'}
>>> "Cecil's phone number is {Cecil}.".format_map(phonebook)
"Cecil's phone number is 3258.".

像这样使用字典时,可指定任意数量的转换说明符,条件是所有的字段名都是包含在字典中的键。
在模板系统中,这种字符串格式设置方式很有用(下面的示例使用的是 HTML)。

>>> template = '''<html>
... <head><title>{title}</title></head>
... <body>
... <h1>{title}</h1>
... <p>{text}</p>
... </body>'''
>>> data = {'title': 'My Home Page', 'text': 'Welcome to my home page!'}
>>> print(template.format_map(data))
<html>
<head><title>My Home Page</title></head>
<body>
<h1>My Home Page</h1>
<p>Welcome to my home page!</p>
</body>