繁体   English   中英

如何在sympy中获得字符串转换以表现出漂亮的效果?

[英]How does one get string conversion in sympy to behave as pretty print?

我希望能够在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中可用的打印功能之一。 如果要使用另一个,请使用它:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM