Python如何实现类似Ruby的#{}语法的字符串插值?

Mary-Kate Olsen
发布: 2024-11-07 04:40:02
原创
475 人浏览过

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学习者快速成长!