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 之前,請考慮以下選項:
name = "Spongebob Squarepants" print("Who lives in a Pineapple under the sea? %(name)s." % locals())
name = "Spongebob Squarepants" print("Who lives in a Pineapple under the sea? {name!s}.".format(**locals()))
tmpl = string.Template("Who lives in a Pineapple under the sea? $name.") print(tmpl.substitute(name="Spongebob Squarepants"))
以上是Python 是否有像 Ruby 那樣的字串插值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!