Python如何實作類似Ruby的#{}語法的字串插值?

Mary-Kate Olsen
發布: 2024-11-07 04:40:02
原創
476 人瀏覽過

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

Python 相當於 Ruby 的字串插值

在 Ruby 中,字串插值是使用 #{} 語法實現的。例如:

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

問題: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 的 .format() 方法實作字串插值:

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

最後, 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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!