如何使用格式函数进行以下语句

时间:2015-12-12 05:37:38

标签: python string

assert "hello his" == simple_format("hello %0", "his")

我想为上述语句编写一个名为simple_format的函数。

2 个答案:

答案 0 :(得分:3)

您可以使用str.formatstr.format接受{0}{1},...而不是%0%1;需要转换它们。我在以下代码中使用了re.sub

>>> import re
>>>
>>> def simple_format(fmt, *args):
...     fmt = re.sub(r'%(\d+)', r'{\1}', fmt)  # %0 -> {0}
...     return fmt.format(*args)
...
>>> simple_format("hello %0", "his")
'hello his'

答案 1 :(得分:1)

有许多方法可以使这个断言起作用。虽然使用格式化方法如下所示。

assert "hello his"  == "hello {0}".format("his")