Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Python mengejar Ruby dalam Interpolasi Rentetan?

Bagaimanakah Python mengejar Ruby dalam Interpolasi Rentetan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-19 19:50:03614semak imbas

How did Python catch up to Ruby in String Interpolation?

Pendekatan Python untuk Interpolasi Rentetan

Walaupun Ruby menawarkan cara yang mudah untuk melakukan interpolasi rentetan, Python pada mulanya tidak mempunyai mekanisme yang serupa. Walau bagaimanapun, dalam Python 3.6, interpolasi rentetan literal telah diperkenalkan, menjajarkannya dengan pendekatan Ruby.

Contohnya:

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

Pilihan Pra-Python 3.6

Sebelum Python 3.6, Python menawarkan alternatif untuk rentetan interpolasi:

  • % Operator: Menggunakan kamus yang memetakan nama medan kepada nilai, serupa dengan cincangan Ruby.
name = "Spongebob Squarepants"
print("Who lives in a Pineapple under the sea? %(name)s." % locals())
  • .format() Kaedah: Menggantikan nilai ke dalam pemegang tempat.
name = "Spongebob Squarepants"
print("Who lives in a Pineapple under the sea? {name!s}.".format(**locals()))
  • rentetan.Kelas Templat: Menggunakan templat dan ruang letak untuk penggantian.
tmpl = string.Template("Who lives in a Pineapple under the sea? $name.")
print(tmpl.substitute(name="Spongebob Squarepants"))

Sebagai kesimpulan, Python 3.6 menyediakan kaedah ringkas dan seperti Ruby untuk interpolasi rentetan, manakala versi Python terdahulu menawarkan pelbagai alternatif pendekatan untuk mencapai hasil yang serupa.

Atas ialah kandungan terperinci Bagaimanakah Python mengejar Ruby dalam Interpolasi Rentetan?. 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