首頁 > 後端開發 > Python教學 > Python 是否有像 Ruby 那樣的字串插值?

Python 是否有像 Ruby 那樣的字串插值?

Susan Sarandon
發布: 2024-11-30 04:27:15
原創
900 人瀏覽過

Does Python Have String Interpolation Like Ruby's?

Python 提供與 Ruby 相當的字串插值嗎?

在 Ruby 中,字串插值允許將表達式插入到字串中,從而增強程式碼可讀性。 Ruby 字串插值的範例:

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

對於 Python 開發人員來說,等效的字串連接可能看起來很冗長。

Python 3.6 及更高版本中的 Python 字串插值

值得慶幸的是,Python 3.6 引入了與 Ruby 類似的文字字串插值。在Python 3.6 中,「f-strings」允許包含表達式:

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

Python 3.6 之前的替代方案

在Python 3.6 之前,請考慮以下選項:

  • %運算子: 使用用於字串插值的 % 運算子。第一個運算元是要插值的字串,第二個運算元可以包含將欄位名稱對應到值的「對應」。可以使用 locals() 建立映射。
name = "Spongebob Squarepants"
print("Who lives in a Pineapple under the sea? %(name)s." % locals())
登入後複製
  • .format() 方法: 利用.format() 方法插入字串:
name = "Spongebob Squarepants"
print("Who lives in a Pineapple under the sea? {name!s}.".format(**locals()))
登入後複製
  • string.Template類別:
  • 使用string.Template 類別進行字串插值:
tmpl = string.Template("Who lives in a Pineapple under the sea? $name.")
print(tmpl.substitute(name="Spongebob Squarepants"))
登入後複製

以上是Python 是否有像 Ruby 那樣的字串插值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板