【发布时间】:2021-05-02 12:58:07
【问题描述】:
我试图不评估表达式,但它正在 无论如何都要评估。
这个:
parse_expr("sqrt(I**2)", evaluate=False)
返回:
i
为什么会这样?有办法改吗?
【问题讨论】:
-
evaluate=False参数的作用有限,还有许多函数仍会计算,例如sqrt
我试图不评估表达式,但它正在 无论如何都要评估。
这个:
parse_expr("sqrt(I**2)", evaluate=False)
返回:
i
为什么会这样?有办法改吗?
【问题讨论】:
evaluate=False 参数的作用有限,还有许多函数仍会计算,例如 sqrt
与其依赖标志,不如尝试在上下文中解析字符串:
>>> from sympy.core.parameters import evaluate
>>> with evaluate(0):
... parse_expr('sqrt(I**2)')
...
sqrt(I**2)
>>> _.args
(I**2, 1/2)
【讨论】: