如何获取SymPy表达式中的符号数

use*_*999 5 python sympy

我试图获取SymPy表达式中的符号数量,如:

a = sympify('1/4*x+y+c+1/2')
Run Code Online (Sandbox Code Playgroud)

例如,数字应该是3.到目前为止我想出的只是

a.args.__len__()
Run Code Online (Sandbox Code Playgroud)

然而,这也是常数因子1/4和1/2.

有任何想法吗?

sty*_*ane 6

您需要使用该atoms方法获取包含表达式中所有符号的列表.

In [32]: a.atoms(Symbol)
Out[32]: {c, x, y}
Run Code Online (Sandbox Code Playgroud)