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

Build f-strings from normal strings

我正在尝试新的 f 弦,我想知道是否可以 "compile" 将普通弦 "compile" 转换为 f 弦。 所以要控制 f 字符串的评估时间,并能够在使用 f 字符串之前定义它们。

示例伪代码:

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

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

我试着玩 但没有运气。

可能吗?到目前为止,我找到的唯一方法是使用 eval(),但似乎远不是一个好方法。

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

Is it possible?

不,除了以类似方式 evaling 或 execing 之外,您不能这样做。

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