Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah Python Mencapai Interpolasi Rentetan Serupa dengan Sintaks #{} Ruby?
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!