Python:读取变量的内容

时间:2016-02-17 19:07:49

标签: python

例如我有:

x = True and True
print x

我希望能够做到这样的事情:

x = True and True
print "The answer to ", some_function(x), "is", x

程序如下:

  

True和True的答案是真的。

是否有some_function()可以将内容读取为字符串而不是作为布尔值解析?

提前抱歉对此问题的措辞有任何疑惑。

2 个答案:

答案 0 :(得分:1)

您可以将其编写为字符串:

x = 'True and True'

并使用eval评估它:

print "The answer to ", x, "is", eval(x)
>>> x = 'True and True'
>>> print "The answer to ", x, "is", eval(x)
The answer to  True and True is True

答案 1 :(得分:0)

你要求的东西在Python中基本上是不可能的;表达式在Python中立即进行评估,并且解释器不会“记住”生成特定值的表达式。

但是,通过稍微更改代码,您可以使用eval

获得类似的效果
expr = 'True and True'
print "The answer to", expr, "is", eval(expr)

像往常一样,使用eval,永远不要传递你自己没有写过的东西(因为它会打开一个安全漏洞)。