从普通字符串构建f字符串

时间:2017-06-27 12:38:07

标签: python python-3.6 f-string

我正在尝试新的f字符串,我想知道是否可以编译"编译"一个普通的字符串到f字符串。 因此,要控制f-string的评估时间,并能够在消费之前定义f-string。

伪代码示例:

a = 'normal string with some curly {inside}'
inside = 'in it!'
print(a.make_f_string())
>>> 'normal string with some curly in it!'

所以基本上我的需要是在它包含的变量之前定义f-string。或者将一个字符串作为一个字符串。

我尝试使用nesting capabilities of them (SO),但没有运气。

有可能吗?到目前为止,我找到的唯一方法是使用eval(),这似乎远非一种很好的方法。

eval(f"f'{a}'")

1 个答案:

答案 0 :(得分:1)

  

有可能吗?

不,除了evalexec以类似的方式,你不能这样做。

由于您在尝试实际格式化之前尝试定义格式,因此需要.format,而不是f - 字符串。