Bagaimana untuk Menilai Rentetan F Secara Dinamik?

Linda Hamilton
Lepaskan: 2024-11-01 02:57:28
asal
992 orang telah melayarinya

How to Dynamically Evaluate F-strings?

Menilai rentetan F Secara Dinamik

Apabila menggunakan rentetan f untuk mencipta teks dinamik, ia boleh menyusahkan untuk menggunakan kaedah .format(**locals()) apabila mendapatkan semula templat daripada sumber luaran. Oleh itu, timbul keperluan untuk mekanisme untuk mentafsir rentetan sebagai rentetan f.

Untuk menangani perkara ini, fungsi ringkas yang dipanggil fstr boleh digunakan:

<code class="python">def fstr(template):
    return eval(f'f&quot;&quot;&quot;{template}&quot;&quot;&quot;')</code>
Salin selepas log masuk

Fungsi ini membolehkan tafsiran terus rentetan templat ke dalam rentetan f, membenarkan kod seperti ini:

<code class="python">template_a = "The current name is {name}"
names = ["foo", "bar"]
for name in names:
    print(fstr(template_a))</code>
Salin selepas log masuk

Kod ini akan menghasilkan output yang diingini:

The current name is foo
The current name is bar
Salin selepas log masuk

Yang penting, fungsi fstr mengekalkan keupayaan penuh rentetan f, membolehkan penilaian ungkapan dan panggilan kaedah dalam templat:

<code class="python">template_b = "The current name is {name.upper() * 2}"
for name in names:
    print(fstr(template_b))</code>
Salin selepas log masuk

Output:

The current name is FOOFOO
The current name is BARBAR
Salin selepas log masuk

Teknik ini menyediakan penyelesaian komprehensif untuk mentafsir dan menilai secara dinamik f- rentetan, memudahkan pengendalian templat dalam pangkalan kod yang kompleks.

Atas ialah kandungan terperinci Bagaimana untuk Menilai Rentetan F Secara Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!