当前还在作用范围内的局部变量可以通过内置的locals()函数访问,该函数会返回一个字典,字典的键是局部变量名,字典的值则是对变量值的引用。现在,我们可以通过使用映射拆分该字典提供给str.format()方法,映射拆分操作符为**,可应用于映射(比如字典)来产生一个适合传递给函数的键–值列表,如下所示:
animal=“elephant”
weight=11000
“the {animal} weight {weight}”.format(**locals())
‘the elephant weight 11000’
将字典拆分并提供给str.format()方法时允许使用字典的键作为字段名。这使得字符串格式更易于理解,也易于维护,因为也不需要依赖于参数的顺序。然而,要注意的时,如果需要将不止一个参数传递给str.format(),那么只有最后一个参数才可以使用映射拆分。