我想构建一个类,该类能够在运行时采用一些用户定义的表达式并基于它们和该类拥有的一些预定义变量进行计算,例如,用户将知道变量 a、b、c 和d 存在:
伪代码:
>>> foo = myclass()
>>> foo.a = 2
>>> foo.b = 3
>>> foo.expression = 'a + b'
>>> foo.run_expression()
5
>>> foo.expression = 'a * b'
>>> foo.run_expression()
10
我已经探索了 lambda 函数,但他们似乎需要我在每次创建新函数时明确定义 lambda 函数的输入,这意味着用户每次想要更新 lambda 时都会有大量样板输入据我所知,输入始终是一组预定义的变量。
有没有人有做类似事情的经验,或者对如何构建这样的程序有任何想法?