2017-04-14 4 views
0

파이썬에서 str 변환 함수를 가져 와서 sympy의 예쁜 인쇄 기능 (또는 인자로 init_printing()이 호출 된 것처럼 인쇄)을 수행 할 수 있기를 원했습니다. 그런 함수를 호출하면 화면에 인쇄되는 print 함수 만 변경됩니다. strpprint 또는 다른 옵션으로 작동 시키려면 어떻게합니까? 간단히 말해 파이썬 자체의 문자열과 변수에서 print의 출력을 얻거나 가로 챌 수있는 것은 대단합니다. 예를 들어sympy에서 어떻게 문자열 변환을 얻을 수 있습니까?

나는 할 수 있도록하려면 :

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 

는 그렇게 할 수 있습니까?

+0

''Eq'로부터 상속받은 클래스를 만들고 싶습니까? –

+0

@Stephen 확신! 임 제안을 위해 열립니다. 비록 내가 상기 한 특별한 예에 대해서만 사로 잡히지 않았다는 것을 명심했다. 좋은 인쇄 기능이 무엇인지, 그리고 문자열을 얻는 것만으로 화면에 인쇄하는 것이 아닙니다. – Pinocchio

답변

1

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