目前,在SymPy中打印方程时,它只打印方程的“右侧”,而不包括“左侧”。 E.g。
>>> a = b*d
>>> a
b*d
而我想要的是:
>>> a = b*d
>>> a
a = b*d
其中很大一部分是mathjax提供的漂亮格式,当我向不是程序员的同事展示时,它的可读性更高一些。有没有办法在输出中包含等式的主语?
N.B。道歉,我的数学术语不是很好
答案 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