擅长:python、mysql、java
<p>上面给出的许多答案都是正确的。正确的方法是:</p>
<pre><code>>>> thetuple = (1, 2, 3)
>>> print "this is a tuple: %s" % (thetuple,)
this is a tuple: (1, 2, 3)
</code></pre>
<p>但是,对于<code>'%'</code>字符串运算符是否过时存在争议。正如许多人指出的那样,它绝对不是过时的,因为<code>'%'</code>字符串运算符更容易将字符串语句与列表数据组合在一起。</p>
<p>示例:</p>
<pre><code>>>> tup = (1,2,3)
>>> print "First: %d, Second: %d, Third: %d" % tup
First: 1, Second: 2, Third: 3
</code></pre>
<p>但是,使用<code>.format()</code>函数,您将得到一个冗长的语句。</p>
<p>示例:</p>
<pre><code>>>> tup = (1,2,3)
>>> print "First: %d, Second: %d, Third: %d" % tup
>>> print 'First: {}, Second: {}, Third: {}'.format(1,2,3)
>>> print 'First: {0[0]}, Second: {0[1]}, Third: {0[2]}'.format(tup)
First: 1, Second: 2, Third: 3
First: 1, Second: 2, Third: 3
First: 1, Second: 2, Third: 3
</code></pre>
<p>此外,<code>'%'</code>字符串运算符还可用于验证数据类型,如<code>%s</code>、<code>%d</code>、<code>%i</code>,while.format()<a href="https://docs.python.org/2/library/string.html" rel="noreferrer">only support two conversion flags</a>:<code>'!s'</code>和<code>'!r'</code>。</p>