Python では、F-string は文字列補間のための便利な構文を提供します。ただし、外部ソースから読み取られた静的テンプレート、またはコード内の他の場所で定義された静的テンプレートを操作する場合、これらの文字列の評価を遅らせることが望ましい場合があります。
必要性を回避するには静的テンプレートを使用する場合の .format(**locals()) 呼び出しでは、Python 関数を利用できます。次のように定義された fstr 関数を使用すると、文字列を f 文字列として評価できます。
<code class="python">def fstr(template): return eval(f'f"""{template}"""')</code>
fstr を使用すると、変数で定義された静的テンプレートを使用できます。または、ファイルから読み取り、値をそのファイルに補間します。次の例を考えてみましょう。
<code class="python">template_a = "The current name is {name}" names = ["foo", "bar"] for name in names: print(fstr(template_a)) # Evaluates the template with the current 'name'</code>
出力:
The current name is foo The current name is bar
テンプレートは実行時に評価されるため、名前などの複雑な式も中かっこ内で使用できることに注意してください。次の例では、upper() * 2:
<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
以上がPython で静的テンプレートの F 文字列評価を延期するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。