有没有办法以编程方式确定SymPy表达式是否包含sympy.Function
?例如,来自a
from sympy import *
f = Function('f')
g = Function('g')
a = f(3) + g(5) + 1.0
print(a)
我希望获得对象f
和g
。
答案 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]