[英]Combine python f-string with format
我想使用传递给format
方法的变量来计算f字符串中的数学运算。 例如我需要类似的东西:
print(f"{{a}} * 3".format(a=2))
此代码打印:
2 * 3
但是我想要的结果是6。同样,我也不会使用python eval
函数来评估此字符串。
如PEP 498所述 :
实现f字符串时,
str.format()
“表达式解析器”不适合使用。
虽然您可以执行以下操作:
name = "John"
age = 30
print(f'My name is {{0}} and I am 5 years older than {age - 5}'.format(name))
您在原始问题中要求的内容不可行。
您也可以阅读此Reddit主题,以了解为什么这可能不是一个好主意。
您还需要将3
放在花括号中:
>>> a = 2
>>> print(f"{a * 3}")
6
>>>
你可以试试看
print((int(f"{{a}}".format(a=2)))*3)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.