字典的格式化字符串很酷。在每個轉換說明符中的%字符后面,可以加上(用園括號括起來的)鍵,后面在跟上其他說明元素。
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>