如何在 Python 中解析模板化字符串?

Mik*_*wis 3 python

我是 Python 新手,所以我不确定这个操作到底叫什么,因此我很难在其中搜索信息。

基本上我想要一个字符串,例如:

"[[size]] widget that [[verb]] [[noun]]"
Run Code Online (Sandbox Code Playgroud)

其中大小、动词和名词都是一个列表。

我想将字符串解释为元语言,这样我就可以从列表中排列出很多句子。作为一种元语言,我还可以制作其他字符串,使用这些预定义的列表来生成更多排列。

在 Python 中是否有像这样的变量替换功能?如果我应该谷歌它,什么术语描述了这个操作?

unu*_*tbu 6

如果您将语法更改为

"{size} widget that {verb} {noun}"
Run Code Online (Sandbox Code Playgroud)

然后你可以使用字符串的format方法来进行替换:

"{size} widget that {verb} {noun}".format(size='Tiny',verb='pounds',noun='nails')
Run Code Online (Sandbox Code Playgroud)

或者

choice={'size':'Big',
    'verb':'plugs',
    'noun':'holes'}
"{size} widget that {verb} {noun}".format(**choice)
Run Code Online (Sandbox Code Playgroud)