Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah saya boleh mencapai interpolasi rentetan dalam Python seperti Ruby?

Bagaimanakah saya boleh mencapai interpolasi rentetan dalam Python seperti Ruby?

Linda Hamilton
Linda Hamiltonasal
2024-11-16 08:17:03875semak imbas

How can I achieve string interpolation in Python like Ruby?

Setara Python dengan Interpolasi Rentetan Ruby

Interpolasi rentetan Ruby, yang membolehkan kemasukan ekspresi yang mudah dalam rentetan, mempunyai setara Python dalam pelbagai bentuk.

Format Rentetan Interpolasi (f-rentetan)

Python 3.6 dan kemudiannya memperkenalkan "f-strings," yang membolehkan interpolasi rentetan literal. Ungkapan boleh dimasukkan terus menggunakan sintaks:

name = "Spongebob Squarepants"
print(f"Who lives in a Pineapple under the sea? {name}.")

Interpolasi Rentetan dengan % Operator

Sebelum Python 3.6, interpolasi rentetan boleh dicapai menggunakan operator % . Operan pertama ialah rentetan yang akan diinterpolasi, manakala operan kedua boleh menjadi pemetaan yang memadankan nama medan dengan nilai. Contohnya:

name = "Spongebob Squarepants"
print("Who lives in a Pineapple under the sea? %(name)s." % locals())

Interpolasi Rentetan dengan Kaedah .format()

Versi Python terbaharu juga menyediakan kaedah .format() untuk interpolasi rentetan:

name = "Spongebob Squarepants"
print("Who lives in a Pineapple under the sea? {name!s}.".format(**locals()))

String.Template Class

Pilihan lain ialah menggunakan rentetan.Template class:

tmpl = string.Template("Who lives in a Pineapple under the sea? $name.")
print(tmpl.substitute(name="Spongebob Squarepants"))

Atas ialah kandungan terperinci Bagaimanakah saya boleh mencapai interpolasi rentetan dalam Python seperti Ruby?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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