利用 f 字符串创建动态文本时,使用 .format(**locals()) 方法可能不方便从外部源检索模板时。因此,需要一种将字符串解释为 f 字符串的机制。
为了解决这个问题,可以使用一个名为 fstr 的简洁函数:
<code class="python">def fstr(template): return eval(f'f"""{template}"""')</code>
此函数使将模板字符串直接解释为 f 字符串,允许使用如下代码:
<code class="python">template_a = "The current name is {name}" names = ["foo", "bar"] for name in names: print(fstr(template_a))</code>
此代码将产生所需的输出:
The current name is foo The current name is bar
至关重要的是,fstr 函数保留了全部功能f 字符串,能够在模板内评估表达式和方法调用:
<code class="python">template_b = "The current name is {name.upper() * 2}" for name in names: print(fstr(template_b))</code>
输出:
The current name is FOOFOO The current name is BARBAR
此技术为动态解释和评估 f- 提供了全面的解决方案字符串,简化复杂代码库中的模板处理。
以上是如何动态评估 F 弦?的详细内容。更多信息请关注PHP中文网其他相关文章!