在iPython笔记本中使用Sympy打印整个函数
目前在使用SymPy打印方程时,它只显示方程的“右边”,而不包括“左边”。比如:
>>> a = b*d
>>> a
b*d
而我希望看到的是:
>>> a = b*d
>>> a
a = b*d
这样做的一个重要原因是,mathjax提供了很好的格式化效果,让我在给不懂编程的同事展示时,更容易阅读。有没有办法在输出中包含方程的主题部分呢?
注:抱歉,我的数学术语不是很好。
1 个回答
10
Python的工作方式并不是这样。Python中的变量其实就是一些标签。
SymPy是一个Python库,它并不是在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