我想使用传递给format方法的变量计算f-string中的数学运算.例如,我需要这样的东西:
print(f"{{a}} * 3".format(a=2))
Run Code Online (Sandbox Code Playgroud)
此代码打印:
2 * 3
Run Code Online (Sandbox Code Playgroud)
但我想要的结果是6.另外我不会使用python eval函数来评估这个字符串.
str.format()在实现f字符串时,“表达式解析器”不适合使用。
虽然您可以执行以下操作:
name = "John"
age = 30
print(f'My name is {{0}} and I am 5 years older than {age - 5}'.format(name))
Run Code Online (Sandbox Code Playgroud)
您在原始问题中要求的内容不可行。
您也可以阅读此Reddit主题,以了解为什么这可能不是一个好主意。