3

目前在 SymPy 中打印方程时,它只打印方程的“右手边”,不包括“左手边”。例如

>>> a = b*d
>>> a
b*d 

而我想要的是:

>>> a = b*d
>>> a
a = b*d

其中很大一部分是 mathjax 提供的良好格式,当我向非程序员的同事展示时,它的可读性更高。有没有办法在输出中包含方程的主题?

注意抱歉,我的数学术语不是很好

4

1 回答 1

10

Python 不能那样工作。Python 中的变量只是标签。

SymPy 是一个 Python 库,而不是围绕 Python 包装的东西,因此它符合该语言的语法和语义。当您编写时,a=b您正在创建一个标签a,该标签指向与标签指向的对象相同的对象(基于或不基于 SymPy)b。有关更多详细信息,请查看变量在 Python 中的工作方式。

当您创建 SymPy 表达式时,您将从类的对象实例开始Symbol并构建。构造函数的参数Symbol是一个主要用于打印的名称。你可以写a = b = c = Symbol('fancy_name'),所有三个标签都指向同一个对象:Symbol('fancy_name')实例。查看 Sympy 文档中的教程。

大多数时候,您使用的是 SymPy 表达式,而不是函数。作为初学者,您不需要关心函数。

最后,如果由于某种原因您希望将等式或不等式作为表达式(大多数时候您不需要这个),您可以使用

>>> relational.Eq(x, y)
x=y
于 2013-03-20T01:36:51.667 回答