将“a ** b”替换为pow(a,b)

时间:2017-11-23 14:28:01

标签: sympy symbolic-math

例如,我有以下代码:

import sympy as sp
t = sp.Symbol("t")
f = t**2
print(f)

输出:t**2

我可以使用sympy获得输出pow(t,2)吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

你可以尝试破解字符串打印机:

from sympy.printing import StrPrinter
StrPrinter._print_Pow = lambda self, expr: "pow(%s, %s)" % (self._print(expr.base), self._print(expr.exp))

也就是说,这会覆盖类_print_Pow中的方法StrPrinter,该方法负责打印Pow个对象的字符串形式。