【发布时间】:2018-11-18 01:35:27
【问题描述】:
在使用formatted string literal时,在一定程度上可以嵌套f-strings。
a = 3
b = 7
res = f"{f'{a*b}'}"
print(res) # '21'
虽然,如果内部表达式是包含字符串的变量,则同样不起作用。
a = 3
b = 7
expr = 'a*b'
res = f"{f'{expr}'}"
print(res) # 'a*b'
有没有办法让这个工作和第二个输出也成为'21'?如果不是,第一个和第二个阻止它的字符串有什么区别?
【问题讨论】:
-
澄清一下,您想知道是否可以让第二个输出 21?
-
也许你可以把
eval放进去,即res = f"{f'{eval(expr)}'}" -
如果有人用 eval 发布答案,他们会被否决。
-
@user3483203 我接受你的赌注并为你加注两个选项
标签: python string python-3.6