在公式python中查找变量

和平

当我写这样的代码时

print(A3*2)

python给了我这个错误:

NameError: name 'A3' is not defined

我试图了解 python 如何找到未定义的变量并给我这样的错误。

我想从给定的公式中找到变量并从中列出一个列表。像这样:

>>>formula = (a = b3*2*C2)
variables = [a, b3, C2]
塞尔吉·巴列斯塔

此处不应依赖错误处理。最好将公式作为字符串获取并使用ast模块进行解析

示例:

import ast
formula = 'a = b3*2*C2'           # get the formula as a string
parsed = ast.parse(formula)       # parse it
for elt in ast.walk(parsed):      # walk down the parsed tree
    if isinstance(elt, ast.Name): # only process variable names
       print(elt.id)                # print that name

它会给:

a
C2
b3

要生成变量名称列表,您可以使用理解:

names = [i.id for i in ast.walk(ast.parse(formula)) if isinstance(i, ast.Name)]
print(names)

会给:

['a', 'C2', 'b3']

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章