首页  >  文章  >  后端开发  >  如何动态评估 F 弦?

如何动态评估 F 弦?

Linda Hamilton
Linda Hamilton原创
2024-11-01 02:57:281001浏览

How to Dynamically Evaluate F-strings?

动态评估 F 字符串

利用 f 字符串创建动态文本时,使用 .format(**locals()) 方法可能不方便从外部源检索模板时。因此,需要一种将字符串解释为 f 字符串的机制。

为了解决这个问题,可以使用一个名为 fstr 的简洁函数:

<code class="python">def fstr(template):
    return eval(f'f&quot;&quot;&quot;{template}&quot;&quot;&quot;')</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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn