<p>常用的方法是<code>format()</code>函数:</p>
<pre><code>>>> s = "This is an {example} with {vars}".format(vars="variables", example="example")
>>> s
'This is an example with variables'
</code></pre>
<p>它可以很好地处理多行格式字符串:</p>
<pre><code>>>> s = '''\
... This is a {length} example.
... Here is a {ordinal} line.\
... '''.format(length='multi-line', ordinal='second')
>>> print(s)
This is a multi-line example.
Here is a second line.
</code></pre>
<p>还可以传递包含变量的字典:</p>
<pre><code>>>> d = { 'vars': "variables", 'example': "example" }
>>> s = "This is an {example} with {vars}"
>>> s.format(**d)
'This is an example with variables'
</code></pre>
<p>最接近你所要求的(在语法方面)是<a href="http://docs.python.org/library/string.html#template-strings" rel="noreferrer">template strings</a>。例如:</p>
<pre><code>>>> from string import Template
>>> t = Template("This is an $example with $vars")
>>> t.substitute({ 'example': "example", 'vars': "variables"})
'This is an example with variables'
</code></pre>
<p>不过,我要补充的是,<code>format()</code>函数更常见,因为它很容易使用,而且不需要导入行。</p>