使用SymPy

时间:2015-07-27 13:08:44

标签: python sympy

我正在使用Sympy解析表达式并获得以下跟踪:

>>> parse_expr("3N", transformations=transformations)`
TypeError: unsupported operand type(s) for *: 'Integer' and 'function'

从我可以收集的内容来看,这是因为N被解析器视为一个函数,而不仅仅是其他任何字符串。代码与我测试的一些其他符号一起正常工作。

任何人都可以简要解释为什么会这样吗?是否有使用parse_expr无法解析的关键字或字符列表?

1 个答案:

答案 0 :(得分:2)

引用文档(pitfalls and gotchas):

  

最后,建议您不要将I,E,S,N,C,O或Q用于变量或符号名称,因为它们用于...... 数值评估(N()是相当于evalf())... 或者更好的是,总是使用小写字母表示符号名称。 Python不会阻止你覆盖默认的SymPy名称或函数,所以要小心。