在这个答案中,解释了如何避免args
在 SymPy 类中进行排序,例如Mul
,Add
等等。
对于像这里解释的这样一个新创建的类,它可以在乘以 a 时转到右侧sympy.core.numbers.Float
,sympy.core.numbers.Pi
或者sympy.core.numbers.Integer
,例如,给出:
print D(x) * 1.
1.0*D(x)
原始表达式0.
在评估时给出,而新表达式给出D(x)
.
为了让这个微分算子正常工作,它必须留在左边:
print D(x) * 1.
D(x)*1.0
是否有任何隐藏参数(例如_op_priority
更改__mul__()
优先级)告诉 SymPy 更靠左或靠右的类型?