如何在Python中动态执行语句?
例如:假设值x包含以下表达式,(a + b)/ 2,
a = 1
b = 3
x = (a+b)/2
x的值将来自表
答案 0 :(得分:2)
您可能需要eval
#!/usr/bin/env python
a = 1
b = 3
x = "(a+b)/2"
print eval(x)
但它通常被视为bad practice(点击here以获得更精细,更有趣的解释)
答案 1 :(得分:0)
你可以这样做:
a = 1
b = 3
x = '(a+b)/2'
print eval(x)
请注意,x
的值用引号括起来,因为eval
需要字符串或代码对象。
另外,也许请阅读this以确保您安全地使用它(因为这通常是一个问题,我不会假装成为其缺陷的专家:)。
答案 2 :(得分:0)
虽然python既有“exec()”又有“eval()”,但我相信在这种情况下你会使用后者:
>>> a = 1
>>> b = 3
>>> x = "(a + b)/2"
>>> eval(x)
2
答案 3 :(得分:0)
您可以使用eval,如
eval(x)
实际上你可以使用
x=eval('(a+b)/2')
获取结果(在这种情况下,eval将返回计算结果)。