首页 > 解决方案 > 允许用户定义变量,并替换为值

问题描述

我有一个用户输入的字符串,s = "my name is {name} and my age is {age}"我试图拥有{name}并被{age}其他字符串替换。

在单个变量的情况下,如果它只是name="bob",使用会很简单,但我的目标是拥有大约 10-15 个不同的变量,这会使事情复杂化。.replace('{name}', 'bob'){name}

该变量可以在字符串中的任何位置,我也从数据库中获取字符串d = {'name': 'bob', 'age': 18},因此不能使用 f-strings。

标签: python

解决方案


您可以将 dict 扩展为str.format().

s = "my name is {name} and my age is {age}"
d = {'name': 'bob', 'age': 18}
print(s.format(**d))  # -> my name is bob and my age is 18

相关:如何创建变量变量?


推荐阅读