>>> params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}
>>> "%(pwd)s" % params
'secret'
>>> "%(pwd)s is not a good password for %(uid)s" % params
'secret is not a good password for sa'
>>> "%(database)s of mind, %(database)s of body" % params
'master of mind, master of body'
1.這種字符串格式化形式不用顯示的值的 tuple,而是使用一個 dictionary,params。并且標記也不是在字符串中的一個簡單 %s,而是包含了一個用括號包圍起來的名字。這個名字是 params dictionary 中的一個鍵字,并且將 %(pwd)s 標記所在的地方替換成相應的值 secret。
2.基于 dictionary 的字符串格式化可用于任意數量的有名的鍵字。每個鍵字必須在一個給定的 dictionary 中存在,否則這個格式化操作將失敗并引發一個 KeyError 的異常。
3.您甚至可以兩次指定同一鍵字,每個鍵字發生之處將被同一個值所替換。