使用Sympy打印时,某些符号表达式包含可能不太合乎需要的括号。如Printing System Documentation中所述,sympy.latex
函数有一个参数fold_func_brackets
,它将删除这些括号。
如何在打印到屏幕时(例如在IPython-notebook或终端中)获得相同的功能。例如
from sympy import *
init_printing()
a, b = symbols('a, b')
cos(a) + sin(b)
结果是sin(b) + cos(a)
。但是,我希望它打印:sin b + cos a
没有括号。
可以这样做吗?
答案 0 :(得分:0)
没有内置的方法可以做到这一点,但您可以很容易地修改打印机的子类,并将其作为自定义打印机传递给init_printing(pretty_printer=Printer)
。除了更改使用prettyForm.FUNC
的调用之外,您希望将PrettyPrinter子类化并覆盖_print_Function相同。
如果你想为SymPy打印机添加一个选项,我们可能会接受拉取请求。