Я пытаюсь смириться с некоторыми разделами с Sympy, но я заметил, что он не отображает выровненные.
import sympy
sympy.init_printing(use_unicode=True)
sympy.pprint(sympy.Mul(-1, sympy.Pow(-5, -1, evaluate=False), evaluate=False))
# Output:
# -1
# ───
# -5 # Note that "-5" is displayed slightly more on the right than "-1".
Причина/исправление для этого?
РЕДАКТИРОВАТЬ: Я сделал много обратного проектирования с использованием inspect.getsource
и inspect.getsourcefile
, но в конце концов это не помогло.
Pretty Printing в Sympy, похоже, полагается на Prettyprinter Jurjen Bos.
import sympy
from sympy.printing.pretty.stringpict import *
sympy.init_printing(use_unicode=True)
prettyForm("-1")/prettyForm("-5")
# Displays:
# -1
# --
# -5
Таким образом, он отображает выравнивание, но я не могу заставить его использовать unicode.
PrettyPrinter вызывается из файла sympy/printing/pretty/pretty.py
в методе PrettyPrinter._print_Mul
, который просто return prettyForm.__mul__(*a)/prettyForm.__mul__(*b)
с, я думал, a
и b
просто был ['-1']
и ['-5']
, но это не будет работа.