python - 如何使用 sympy.pprint() 在 ipython 中进行精美打印

标签 python sympy pprint

我正在尝试在 Sympy 中 pprint() 一个我称之为 barphi 的变量。我想要得到的是

$\bar{\phi}$

当打印为 pprint(barphi) 时。

我试试

barphy = Symbol('\bar{phi}')

但它不起作用。有什么帮助吗?提前致谢。

最佳答案

这在 SymPy mailing list 上得到了回答.

你写的有两个问题

首先,Python将字符串中的\+字符转换为转义。字符串中的 \b 变成退格键(参见 https://en.wikipedia.org/wiki/ASCII#ASCII_control_code_chart )。

您需要转义 \,即使用 '\\bar{\\phi}$',或者,如果您不这样做,则更容易关心转义,使用原始字符串,这只是意味着在引号前面放一个 r,比如 r'\bar{\phi}'

其次,如果你想获得 LaTeX,pprint() 不会这样做(pprint 漂亮地打印到 2D 文本)。您应该使用 init_printing() 在笔记本中启用 LaTeX 打印。

最后,正如 Julien Rioux 在邮件列表中指出的那样,您只需将符号命名为 phibar,SymPy 将自动将其呈现为 \bar{\phi},正如您在这里看到的,甚至是 Unicode 格式

In [11]: Symbol('phibar')
Out[11]: φ̅

关于python - 如何使用 sympy.pprint() 在 ipython 中进行精美打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22841113/

相关文章:

python - 复数点积

python - 我如何通过 scipy/numpy 或 sympy 实现第一类球形 hankel 函数?

python使用默认函数聚合groupby

python - 在不使用用户函数的情况下使用不同名称将图像保存在For循环中(scikit-Python)

python - 在元组中搜索集合

python - 求解指数方程给出多个解

python - 有什么方法可以正确打印 OrderedDict?

python - 错误 : Could not find a version that satisfies the requirement pprint (from -r requirements. txt(第 67 行))(来自版本:无)

python - 在混合类型的嵌套元组中打印格式化 float

python - 如何避免在 numpy 中使用 for 循环?