Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Python Mencapai Interpolasi Rentetan Serupa dengan Sintaks #{} Ruby?

Bagaimanakah Python Mencapai Interpolasi Rentetan Serupa dengan Sintaks #{} Ruby?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-07 04:40:02474semak imbas

How does Python Achieve String Interpolation Similar to Ruby's #{} Syntax?

Python's Equivalent to Ruby's String Interpolation

Dalam Ruby, rentetan interpolasi dicapai menggunakan sintaks #{}. Contohnya:

name = "Spongebob Squarepants"
puts "Who lives in a Pineapple under the sea? \n#{name}."

Soalan: Adakah terdapat mekanisme setanding dalam Python untuk interpolasi rentetan?

Jawapan:

Bermula dengan Python 3.6, sintaks interpolasi rentetan telah diperkenalkan, menyerupai interpolasi #{} Ruby. Dalam Python 3.6 dan lebih baru, sintaks f-strings membenarkan ungkapan untuk dibenamkan dalam rentetan, seperti berikut:

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

Sebelum Python 3.6, operator % biasanya digunakan untuk interpolasi rentetan. Operan pertama ialah rentetan yang akan diinterpolasi, manakala yang kedua boleh menjadi "pemetaan" yang mengaitkan nama medan dengan nilai yang akan diinterpolasi.

Untuk mencapai interpolasi rentetan menggunakan kaedah .format() Python:

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

Akhir sekali, kelas rentetan.Templat menyediakan pendekatan alternatif:

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

Atas ialah kandungan terperinci Bagaimanakah Python Mencapai Interpolasi Rentetan Serupa dengan Sintaks #{} 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