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

时间:2016-03-14 10:18:32

标签: python sympy

有没有办法以编程方式确定SymPy表达式是否包含sympy.Function?例如,来自a

from sympy import *

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

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

print(a)

我希望获得对象fg

1 个答案:

答案 0 :(得分: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]