Python Sympy:从表达式中获取函数

Python Sympy:从表达式中获取函数,python,sympy,Python,Sympy,要从Symphy表达式中获取所有变量,可以调用表达式上的.free\u symbols。我想检索表达式中使用的所有函数。例如,从中的y from sympy import * f = Function('f') g = Function('g') x = Symbol('x') y = f(x) + 2*g(x) 我想要f和g 有什么提示吗?atoms实现了以下功能: for f in y.atoms(Function): print(f.func) 对于所有函数,请使用原子(

要从Symphy表达式中获取所有变量,可以调用表达式上的
.free\u symbols
。我想检索表达式中使用的所有函数。例如,从中的
y

from sympy import *

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

x = Symbol('x')

y = f(x) + 2*g(x)
我想要
f
g


有什么提示吗?

atoms
实现了以下功能:

for f in y.atoms(Function):
    print(f.func)

对于所有函数,请使用原子(函数)

仅对于未定义的函数,请使用原子(AppliedUndef)

In [40]: (f(x) + sin(x)).atoms(Function)
Out[40]: set([f(x), sin(x)])
In [41]: from sympy.core.function import AppliedUndef

In [42]: (f(x) + sin(x)).atoms(AppliedUndef)
Out[42]: set([f(x)])