Dalam Python, f-strings menawarkan sintaks yang mudah untuk interpolasi rentetan. Walau bagaimanapun, apabila bekerja dengan templat statik yang dibaca daripada sumber luaran atau ditakrifkan di tempat lain dalam kod, mungkin wajar untuk menangguhkan penilaian rentetan ini.
Untuk mengelakkan keperluan untuk panggilan .format(**locals()) apabila menggunakan templat statik, fungsi Python boleh digunakan. Fungsi fstr, yang ditakrifkan seperti berikut, membolehkan kita menilai rentetan sebagai rentetan f:
<code class="python">def fstr(template): return eval(f'f"""{template}"""')</code>
Dengan fstr, kita boleh menggunakan templat statik yang ditakrifkan dalam pembolehubah atau baca daripada fail dan interpolasi nilai ke dalamnya. Pertimbangkan contoh berikut:
<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>
Output:
The current name is foo The current name is bar
Perhatikan bahawa memandangkan templat dinilai pada masa jalan, ungkapan kompleks juga boleh digunakan dalam pendakap kerinting, seperti nama. upper() * 2 dalam contoh berikut:
<code class="python">template_b = "The current name is {name.upper() * 2}" for name in names: print(fstr(template_b))</code>
Output:
The current name is FOOFOO The current name is BARBAR
Atas ialah kandungan terperinci Bagaimana untuk Menangguhkan Penilaian F-String dalam Python untuk Templat Statik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!