这按预期工作:
>>> from sympy.parsing.sympy_parser import parse_expr
>>> parse_expr("2**3"), parse_expr("2**3", evaluate=False)
(8, 2**3)
但是,这不是:
>>> from sympy.parsing.sympy_parser import parse_expr
>>> parse_expr("sqrt(9)"), parse_expr("sqrt(9)", evaluate=False)
(3, 3)
我期望:
(3, sqrt(9))
有什么想法,为什么?
最佳答案
evaluate=False
仅保证
参数的顺序将保持原样
通常会发生的字符串和自动简化是
压抑。 (请参见示例)。
它不会阻止函数的执行。
--Documentationevaluate
仅指运算符,不指功能。
关于python - Python sympy评估何时要求不这样做,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45996040/