繁体   English   中英

将python f字符串与格式结合

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM