字典的格式化字符串很酷。在每个转换说明符中的%字符后面,可以加上(用园括号括起来的)键,后面在跟上其他说明元素。
In [1]: phonebook = {'Alice':123, 'hello':456, 'sky':789}
In [2]: "Alice's phone number is %(Alice)s" % phonebook
Out[2]: "Alice's phone number is 123"
除了增加字符串键之外,转换说明符还是像以前一样工作。当以这种方式使用字典的时候,只要所有给出的键都能在字典中找到,就可以获得任意数量得转换说明符。这类字符串格式化在模板系统中非常有用。
In [4]: template = '''<html>
...: <head><title>%(title)s</title></head>
...: <body>
...: <h1>%(title)s</h1>
...: <p>%(text)s</p>
...: </body>'''
In [5]: data = {'title':'My Home Page', 'text':'Welcome to my home page!'}
In [6]: print template % data
<html>
<head><title>My Home Page</title></head>
<body>
<h1>My Home Page</h1>
<p>Welcome to my home page!</p>
</body>