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中文网其他相关文章!