你真的撑握字符串的format方法了吗?
字符串format方法的奇怪返回一般情况下,使用format方法将子字符串填充到替代符里,再返回新的字符串,如下:
<code>
'{0} love {1}'.format('Do you', 'me?')
->Do you love me?
</code>
OK,像我们预期一样,没有问题
但是,
<code>
'{0}' + ' love ' + '{1}'.format('Do you', 'me?')
->{0} love me?
</code>
哪位高人,可以解释一下吗?
分解一下,这个字符串是由三个小字符串组成的:
'{0}',' love ','{1}'.format('Do you', 'me?')
可以发现,只有最后那个字符串被format了,其他的都没有。 你的第二种写法,相当于三个字符串拼接,但是拼接是在format之后才拼接的。所以只是第三部分{1}进行了替换.
你需要把这个括起来才行。
('{0}' + ' love ' + '{1}').format('Do you', 'me?') 例子中的'{0} love {1}'.format('Do you', 'me?')里面的{0} love {1}是一个字符串整体
而下面的例子是三个字符串相加,
'{0}' + ' love ' + '{1}'.format('Do you', 'me?')只对第三个字符串格式化,所以输出{0} love me? 理解,谢谢,高手们
页:
[1]