Python将字符串初始化为变量

时间:2015-06-14 20:04:03

标签: python python-2.7

我有一个计算模式为字符串

calc = "((k+m+46)/2)"

和一些包含变量的字符串,如

m = 2
k = m*2

所有只有字符串。现在我想将它们初始化为Python。 我的目标是用计算模式计算变量值。

calc应返回26

编辑:

我尝试执行变量但在某些情况下我必须首先执行k = m * 2并且我得到错误m未定义!

2 个答案:

答案 0 :(得分:0)

一个简单的解决方案是使用格式字符串。您可以将等式重写为“calc ="({m} + {k} + 46)/ 2" answer = eval(calc.format(m = 2,k = 4))。我建议在评论中使用上面提到的一些专业库。

答案 1 :(得分:0)

#!/usr/bin/python

m = 2
k = m*2
calc = "((k+m+46)/2)"

result = eval(calc)

print result

结果

26