gpt4 book ai didi

python - 如何检查一个变量是否是一个 sympy 表达式?

转载 作者:太空宇宙 更新时间:2023-11-04 10:01:14 25 4
gpt4 key购买 nike

我想检查一个 python 变量是一个 sympy 表达式。很容易检查它是否是一个 sympy 变量:

isinstance(arg, symbol.Symbol)

但是我找不到怎么办:

isinstance(arg, sympy.Expression)

是否可以检查 python 变量是否包含 sympy 表达式或变量?


作为快速检查,我做了:

expr2 = x-y
type(expr2)
<class 'sympy.core.add.Add'>

但我不希望有一个巨大的系列 if 语句子句来检查每种可能的数学表达式类型。看起来多余/愚蠢。


如果能够检测变量何时属于任何类型的 sympy 相关事物,然后对其进行操作(然后可能稍后检查它是否是表达式或更详细的内容......)

最佳答案

我认为您只需要 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]: True

关于python - 如何检查一个变量是否是一个 sympy 表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43414128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com