例如我有:
x = True and True
print x
我希望能够做到这样的事情:
x = True and True
print "The answer to ", some_function(x), "is", x
程序如下:
True和True的答案是真的。
是否有some_function()
可以将内容读取为字符串而不是作为布尔值解析?
提前抱歉对此问题的措辞有任何疑惑。
答案 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
,永远不要传递你自己没有写过的东西(因为它会打开一个安全漏洞)。