大括号内的 f 字符串公式不起作用
f-string formula inside curly brackets not working
我在 Python 3.7.
我在第 3 行的代码工作正常,但是当我将基础公式插入第 4 行时,我的代码 returns 出现错误:
语法错误:f 字符串:不匹配的“(”、“{”或“[”
(错误指向第 4 行中的第一个 '('。
我的代码是:
cheapest_plan_point = 3122.54
phrase = format(round(cheapest_plan_point), ",")
print(f"1: {phrase}")
print(f"2: {format(round(cheapest_plan_point), ",")}")
我不知道第 4 行有什么问题。
您在 "..."
分隔字符串中使用了 "
引号。
Python 看到:
print(f"2: {format(round(cheapest_plan_point), "
,
")}")
所以 )}
是一个 新的独立字符串 。
使用不同的分隔符:
print(f"2: {format(round(cheapest_plan_point), ',')}")
但是,你不需要在这里使用format()
。在 f 字符串中,您已经在格式化每个内插值!只需添加 :,
即可将格式化指令直接应用于 round()
结果:
print(f"2: {round(cheapest_plan_point):,}")
格式 {expression:formatting_spec}
将 formatting_spec
应用于 expression
的结果,就像您使用 {format(expression, 'formatting_spec')}
一样,但无需调用 format()
和无需将 formatting_spec
部分放在引号中。
我在 Python 3.7.
我在第 3 行的代码工作正常,但是当我将基础公式插入第 4 行时,我的代码 returns 出现错误:
语法错误:f 字符串:不匹配的“(”、“{”或“[” (错误指向第 4 行中的第一个 '('。
我的代码是:
cheapest_plan_point = 3122.54
phrase = format(round(cheapest_plan_point), ",")
print(f"1: {phrase}")
print(f"2: {format(round(cheapest_plan_point), ",")}")
我不知道第 4 行有什么问题。
您在 "..."
分隔字符串中使用了 "
引号。
Python 看到:
print(f"2: {format(round(cheapest_plan_point), "
,
")}")
所以 )}
是一个 新的独立字符串 。
使用不同的分隔符:
print(f"2: {format(round(cheapest_plan_point), ',')}")
但是,你不需要在这里使用format()
。在 f 字符串中,您已经在格式化每个内插值!只需添加 :,
即可将格式化指令直接应用于 round()
结果:
print(f"2: {round(cheapest_plan_point):,}")
格式 {expression:formatting_spec}
将 formatting_spec
应用于 expression
的结果,就像您使用 {format(expression, 'formatting_spec')}
一样,但无需调用 format()
和无需将 formatting_spec
部分放在引号中。