Python 使用SymPy解析包含N的表达式

Python 使用SymPy解析包含N的表达式,python,sympy,Python,Sympy,我正在使用Symphy解析表达式并获得以下跟踪: >>> parse_expr("3N", transformations=transformations)` TypeError: unsupported operand type(s) for *: 'Integer' and 'function' 据我所知,之所以会发生这种情况,是因为解析器将N视为一个函数,而不仅仅是任何其他字符串。该代码与我测试的其他一些符号配合使用效果良好 有人能简要解释一下为什么会发生这种情况吗?是

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

>>> parse_expr("3N", transformations=transformations)`
TypeError: unsupported operand type(s) for *: 'Integer' and 'function'
据我所知,之所以会发生这种情况,是因为解析器将
N
视为一个函数,而不仅仅是任何其他字符串。该代码与我测试的其他一些符号配合使用效果良好

有人能简要解释一下为什么会发生这种情况吗?是否有无法使用
parse_expr
解析的关键字或字符列表?

引用文档():

最后,建议不要使用I、E、S、N、C、O或Q作为变量或符号名,因为它们用于数值计算(N()相当于evalf())…或者更好,始终使用小写字母作为符号名称。Python不会阻止您重写默认的symphy名称或函数,因此请小心


您应该显示
N
的定义。N只是字符串的一部分。我假设parse_expr背后的思想是将字符转换为符号。马特在下面的回答是即时的。谢谢马特。我在浏览文档时遗漏了这一点,这有点令人尴尬。可能该位也应在“关键字”部分以及“符号”部分中提及。:)不客气,很高兴我能帮上忙。找到它当然不容易。