检查sympy表达式是否包含函数

4
有没有一种方法可以通过编程确定SymPy表达式是否包含sympy.Function?例如,从a in中。
from sympy import *

f = Function('f')
g = Function('g')

a = f(3) + g(5) + 1.0

print(a)

我希望获取对象fg

1个回答

3

使用 atoms 查找给定类型的所有原子:

import sympy as sy

f = sy.Function('f')
g = sy.Function('g')

a = f(3) + g(5) + 1.0

print(a)
# f(3) + g(5) + 1.0
print(a.atoms(sy.Function))

收益率
set([f(3), g(5)])

为了获取Function本身,
map(type, a.atoms(sy.Function))

产量
[f, g]

2
如果你只想检查一个元素是否在集合中,而不关心它的值,你也可以使用 a.has(f) - asmeurer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接