语言设计不仅解决难题: ;)
http://www.artima.com/forums/flat.jsp?forum=106&thread=147358
模块中的Template
类string
也可以满足我的需要(但更类似于stringformat
方法),最后它也具有我所寻求的可读性,还具有建议的显式性,它位于标准库中,并且也可以很容易地实现定制和扩展。
http://docs.python.org/2/library/string.html?highlight=template#string.Template
from string import Template
name = 'Renata'
place = 'hospital'
job = 'Dr.'
how = 'glad'
header = '\nTo Ms. {name}:'
letter = Template("""
Hello Ms. $name.
I'm glad to inform, you've been
accepted in our $place, and $job Red
will ${how}ly recieve you tomorrow morning.
""")
print header.format(**vars())
print letter.substitute(vars())
有趣的是,现在我更喜欢使用{}
代替,$
而我仍然喜欢string_interpolation
我想出的模块,因为从长远来看,它的键入量比任何一个都要少。大声笑!