我希望能够在python中获得str
转换函数,以充当sympy中的漂亮打印函数(或打印,就像使用任何参数调用init_printing()
一样)。现在,如果一个人调用了这样的函数,它只会更改打印到屏幕上的print
函数。如何使str
表现为pprint
或其他选项?简而言之,能够以某种方式在字符串和python本身的变量中获取/拦截print的输出真是太棒了。
例如,我希望能够做到:
from sympy import *
x,y=symbols('x y')
x_eq_y = Eq(x,2*y)
x_eq_y_str = str(x_eq_y) # holds 'Eq(x,2*y)' but I want it to hold 'x = 2y' or a latex formula etc
有可能这样做吗?
最佳答案
str
只是SymPy中可用的printing functions之一。如果要使用另一个,请使用:
x_eq_y_str = latex(x_eq_y) # get 'x = 2 y'
x_eq_y_str = pprint(x_eq_y) # get x = 2⋅y
x_eq_y_str = pprint(x_eq_y, use_unicode=False) # get x = 2*y
编辑:
使用sympy 1.4,pprint函数不会返回字符串。应改为:
x_eq_y_str = pretty(x_eq_y) # get x = 2⋅y
x_eq_y_str = pretty(x_eq_y, use_unicode=False) # get x = 2*y
关于python - 如何在sympy中获得字符串转换以表现出漂亮的效果?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43420508/