首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查变量是否为渐近表达式?

如何检查变量是否为渐近表达式?
EN

Stack Overflow用户
提问于 2017-04-14 15:01:28
回答 1查看 2K关注 0票数 3

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

代码语言:javascript
复制
isinstance(arg, symbol.Symbol)

但我找不到该怎么做

代码语言:javascript
复制
isinstance(arg, sympy.Expression)

是否可以检查python变量是否包含一个渐近表达式或变量?

作为一次快速检查,我做了:

代码语言:javascript
复制
expr2 = x-y
type(expr2)
<class 'sympy.core.add.Add'>

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

如果能够检测到变量是任何类型的交感相关事物,然后对其进行操作(然后可能稍后检查它是表达式还是更详细的.),这也很好.

EN

回答 1

Stack Overflow用户

发布于 2017-04-14 15:13:05

我认为你只需要sympy.Expr而不是sympy.Expression

代码语言:javascript
复制
In [164]: expr2
Out[164]: x - y

In [165]: type(expr2)
Out[165]: sympy.core.add.Add

但是,如果我们看看这种类型的__bases__

代码语言:javascript
复制
In [166]: type(expr2).__bases__
Out[166]: (sympy.core.expr.Expr, sympy.core.operations.AssocOp)

因此:

代码语言:javascript
复制
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
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43414128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档