我正在尝试新的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}'")
答案 0 :(得分:1)
有可能吗?
不,除了eval
或exec
以类似的方式,你不能这样做。
由于您在尝试实际格式化之前尝试定义格式,因此需要.format
,而不是f
- 字符串。