【发布时间】:2021-03-18 23:32:11
【问题描述】:
x = np.array([5,4,3])
y = np.array([1,2,3])
print(f"{sum(x*y)}, {sum(x**2)}, {sum(y**2)}")
#> 22, 50, 14
但是当我使用 f-string 时
print(f"$\sum{xy}$ = {sum(x*y)}, $\sum{x^2}$ = {sum(x**2)}, , $\sum{y^2}$ = {sum(y**2)}")
我收到错误:NameError: name 'xy' is not defined。
似乎 f-strings 无法识别乳胶代码。
这里有什么解决办法?
【问题讨论】:
-
print打印到终端。终端不支持乳胶代码,所以print.也不支持您将不得不在其他地方打印它。此外,乳胶代码似乎使用{}在 f 字符串中具有特殊含义 -
您需要转义花括号才能在 f 字符串中使用它们。
-
你是对的,f-strings 不能渲染乳胶代码。您可能需要在脚本中使用 GUI 来执行此操作。
-
数学符号还有其他的使用方法吗?
标签: python printing latex mathjax f-string