在Python中打印表达式的评估结果

时间:2014-01-19 19:03:34

标签: python if-statement expression evaluation

在Python中考虑一个简单的if / else块,如下所示:

if x:
    print 'True'
else:
    print 'False'

其中x可以是比较,条件或只是字符串/列表/对象。如何在不编写循环的情况下打开python shell并找出if x将评估的内容?对于特定的案例值,x TrueFalse

例如,如果x是空列表。我可以打开python shell,分配x = [],然后在执行时写出print <function of x>输出TrueFalse。什么是<function of x>

我觉得我问的是一个相当愚蠢的问题而且现在不能直接思考但是我经常发现自己打开一个shell,给变量分配一个角点值并写一个if / else来查看哪个角值会评估为True / False。我只是想找一个更简单的方法来查找shell,而不需要编写4行循环。

2 个答案:

答案 0 :(得分:3)

您正在寻找功能bool

>>> bool([])
False   
>>> bool(['monty'])
True

Python Docs说的是什么。

  

使用标准真值测试将值转换为布尔值   程序。如果x为false或省略,则返回False;否则它   返回True。 bool也是一个类,它是int的子类。类   bool不能进一步子类化。它唯一的例子是假的   真。

答案 1 :(得分:1)

您的四行应与

相同

print(bool(x))