在Python2.6中,是否可以为字符串格式化操作指定除%以外的替代字符?或者是在python解释器中硬编码的%char?
例如,要生成如下所示的字符串:

param1%02param2%03param3...

我现在必须这样做:
str = "%s%%02%s%%03%s" % (param1, param2, param3)

我想做的是用^代替%并能做到:
str = "^s%02^s%03^s" ^ (param1, param2, param3)

而IMO的可读性要高得多。

最佳答案

您可以使用新的str.format方法。它提供了更多的格式化选项,可读性更强。

>>> '{0}%02{1}%03{2}'.format('a', 'b', 'c')
'a%02b%03c'

>>> '{param1} is also {param2}'.format(param1='foo', param2='bar')
'foo is also bar'

>>> '{0[name]} is {0[age]} years old'.format({'name': 'Bob', 'age': 42})
'Bob is 42 years old'

有关详细信息,请查看文档:Format string syntax

10-08 07:34