F 字符串提供了一种在 Python 中格式化字符串的便捷方法。然而,当使用动态模板或文件时,需要推迟或推迟 f 字符串的评估。这带来了挑战,因为解释器无法直接解释带有格式标记的静态字符串。
此问题的可靠解决方案涉及使用将字符串计算为f 字符串。以下函数用于此目的:
<code class="python">def fstr(template): return eval(f'f"""{template}"""')</code>
使用 fstr 函数,您可以推迟 f 字符串计算,如下所示:
<code class="python">template_a = "The current name is {name}" names = ["foo", "bar"] for name in names: print(fstr(template_a)) # Output: The current name is foo # The current name is bar</code>
请注意, fstr 函数正确计算字符串中的表达式,例如 name.upper() * 2:
<code class="python">template_b = "The current name is {name.upper() * 2}" for name in names: print(fstr(template_b)) # Output: The current name is FOOFOO # The current name is BARBAR</code>
这种方法提供了一种简洁方便的方法来在必要时处理 f 字符串计算,从而允许动态字符串格式化在您的代码库中。
以上是如何在 Python 中按需评估 F 字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!