Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python将字符串初始化为变量_Python_Python 2.7 - Fatal编程技术网

Python将字符串初始化为变量

Python将字符串初始化为变量,python,python-2.7,Python,Python 2.7,我有一个计算模式作为字符串 calc = "((k+m+46)/2)" 和一些包含变量的字符串,如 m = 2 k = m*2 全部仅限字符串。现在我想将它们初始化为Python。 我的目标是使用计算模式计算可变值 计算应返回26 编辑: 我尝试执行变量,但在某些情况下,我必须首先执行k=m*2,我得到错误m未定义 一个简单的解决方案是使用格式字符串。您可以将您的方程式改写为'calc=“({m}+{k}+46)/2” 答案=评估(计算格式(m=2,k=4))。不过,我建议使用上面评论中提到

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

calc = "((k+m+46)/2)"
和一些包含变量的字符串,如

m = 2
k = m*2
全部仅限字符串。现在我想将它们初始化为Python。 我的目标是使用计算模式计算可变值

计算应返回26

编辑:


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

一个简单的解决方案是使用格式字符串。您可以将您的方程式改写为'calc=“({m}+{k}+46)/2” 答案=评估(计算格式(m=2,k=4))。不过,我建议使用上面评论中提到的一些专业图书馆

#!/usr/bin/python

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

result = eval(calc)

print result
结果

26

exec('m=2;k=m*2;print((k+m+46)/2)
执行此操作的一般安全方法是使用一个用于计算符号方程的。若要将字符串转换为可计算表达式,您可以使用。
calc应返回
???变量无法返回。。。