我有以下问题:
我已经通过定义
创建了我自己的类sympy.core.Add和sympy.core.Mul的副本from sympy.core import Add, Mul
class jyrAdd(Add):
pass
class jyrMul(Mul):
pass
这种复制的原因是我想为这些类添加一个颜色属性,以打印具有不同颜色的等式的不同部分。
这几乎可行。但如果我按如下方式创建表达式,则会出现问题:
ex1 = jyrAdd(2,3, evaluate = False)
ex1 = jyrMul(3,ex1, evaluate = False)
ex1 = jyrAdd(1,ex1, evaluate = False)
前两个步骤是Ok,但在第三步之后,表达式ex1被破坏,调试器告诉Unable to get repr for class 'jyrAdd'
如果我尝试打印表达式,系统会崩溃,因为包装器无法找到显示表达式的正确方法。
如果使用sympy.core.Add
类
ex1 = Add(2,3, evaluate = False)
没有问题。如果第一行是
,也没有问题ex1 = jyrAdd(x,3,evaluate = False)
我不知道如何处理这个问题,我会感谢任何帮助。我正在使用python 2.7和sympy 0.7.5。