iPython笔记本中的Sympy:打印整个功能

时间:2013-03-20 00:23:22

标签: python sympy

目前,在SymPy中打印方程时,它只打印方程的“右侧”,而不包括“左侧”。 E.g。

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

而我想要的是:

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

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

N.B。道歉,我的数学术语不是很好

1 个答案:

答案 0 :(得分:8)

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

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

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

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

最后,如果出于某种原因,你希望将等式或不等式作为表达式(大部分时间你不需要这样),你可以用

创建它们。
>>> relational.Eq(x, y)
x=y