我想检查python变量是一个渐近表达式。它很容易检查它是否是一个渐近变量:
isinstance(arg, symbol.Symbol)但我找不到该怎么做
isinstance(arg, sympy.Expression)是否可以检查python变量是否包含一个渐近表达式或变量?
作为一次快速检查,我做了:
expr2 = x-y
type(expr2)
<class 'sympy.core.add.Add'>但我不希望有一个巨大的系列if语句子句检查每一种可能的数学表达式。似乎多余/愚蠢。
如果能够检测到变量是任何类型的交感相关事物,然后对其进行操作(然后可能稍后检查它是表达式还是更详细的.),这也很好.
发布于 2017-04-14 15:13:05
我认为你只需要sympy.Expr而不是sympy.Expression
In [164]: expr2
Out[164]: x - y
In [165]: type(expr2)
Out[165]: sympy.core.add.Add但是,如果我们看看这种类型的__bases__:
In [166]: type(expr2).__bases__
Out[166]: (sympy.core.expr.Expr, sympy.core.operations.AssocOp)因此:
In [167]: isinstance(2, sympy.Expr)
Out[167]: False
In [168]: isinstance(x, sympy.Expr)
Out[168]: True
In [169]: isinstance(x-y, sympy.Expr)
Out[169]: Truehttps://stackoverflow.com/questions/43414128
复制相似问题