如何在 Python 中动态执行语句?
例如:假设值 x 包含以下表达式 (a+b)/2,
a = 1
b = 3
x = (a+b)/2
x 的值将来自表
你可以做:
a = 1
b = 3
x = '(a+b)/2'
print eval(x)
请注意,由于需要字符串或代码对象,因此将值x
括在引号中。eval
此外,也许阅读本文以确保您安全地使用它(因为这通常是一个问题,我不会假装是它的缺陷专家:))。
尽管 python 同时具有“exec()”和“eval()”,但我相信您希望在这种情况下使用后者:
>>> a = 1
>>> b = 3
>>> x = "(a + b)/2"
>>> eval(x)
2
您可以使用 eval,如
eval(x)
其实你可以使用
x=eval('(a+b)/2')
获取结果(在这种情况下,eval 将返回计算结果)。