注意:這是Math Stack Exchange 中此問題的副本。我必須首先在 Math StackExchange 中提出問題,因?yàn)镾tackOverflow 沒有 MathJax。但是,幾乎所有 SymPy 問題都在 StackOverflow 上。有關(guān)所需輸出的排版,請(qǐng)參閱 Math Stack Exchange 版本。Math StackExchange 上的一位編輯建議我在這里交叉發(fā)布它。在 Jupyter Notebook 中,如果我們執(zhí)行此代碼:import sympy as spsp.init_printing()x,y=sp.symbols('x,y')x**2+sp.sin(y)由于SymPy 的漂亮打印過程,我們將獲得一個(gè)不錯(cuò)的輸出,無需進(jìn)一步編碼,看起來像現(xiàn)在假設(shè)我們這樣做:class MetricSpace: def __init__(self, M, d): self.M = M self.d = d def __repr__(self): return f"$({self.M}, {self.d})$ {self.__class__.__name__}"Re,d=sp.symbols(r'\Re,d')MetricSpace(Re,d)那么我們得到的輸出是如果我們這樣做from IPython.core.display import MarkdownMarkdown(repr(MetricSpace(Re,d)))然后我得到所需的輸出,看起來像我們?nèi)绾尉帉懮鲜龃a,以便 SymPy 的漂亮打印機(jī)在 Jupyter notebook 中提供所需的輸出,而無需將其包裝在 中Markdown(repr(...))?
如何在 Jupyter Notebook 中為新結(jié)構(gòu)擴(kuò)展 SymPy 漂亮打印?
慕運(yùn)維8079593
2023-05-09 15:26:31