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

How to get the number of symbols in a SymPy expression

我正在尝试获取 SymPy 表达式中的符号数量,例如:

a = sympify('1/4*x+y+c+1/2')

例如号码应该是3。到目前为止我想出的只是

a.args.__len__()

然而,这也计算常数因子 1/4 和 1/2。

有什么想法吗?

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

In [32]: a.atoms(Symbol)
Out[32]: {c, x, y}