sympy:有时在使用 parse_expr 后得到 'Integer' 对象没有属性 'strip'

sympy: sometimes getting 'Integer' object has no attribute 'strip' after using parse_expr

像这样使用 parse_expr 后:

s = parse_expr(s, transformations=standard_transformations + (implicit_multiplication_application,))

其中 s 是不同种类的数学(即 3+2 或 2x+5)。 问题是当 s 只是一个 integer/float 函数导致“'Integer' 对象没有属性 'strip'”

我的解决方法是检查 s 是否为数字。我只是想知道是否有一种方法可以安全地使用 parse_expr 而不会因整数而崩溃。

更新:我的服务器出现故障,因此实际上并没有投射到 str。重新启动服务器,现在可以转换为字符串:

s = str(s)

文档字符串:

Converts the string ``s`` to a SymPy expression, in ``local_dict``

Parameters
==========

s : str
    The string to parse.

s 必须是字符串。

始终转换为字符串比检查数字更好。因此,如果您遇到相同的错误,请执行以下操作:s = str(s)