【问题标题】:Print the result of evaluation of an expression in Python打印 Python 中表达式的计算结果
【发布时间】:2014-01-19 19:03:33
【问题描述】:

考虑一下 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 行循环。

【问题讨论】:

    标签: python if-statement expression evaluation


    【解决方案1】:

    您正在寻找函数bool

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

    Python Docs 说什么。

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

    【讨论】:

    • 是的,这正是我想要的。非常感谢。
    【解决方案2】:

    你的四行应该是一样的

    print(bool(x))

    【讨论】:

    • 这正是我想要的。
    猜你喜欢
    • 2014-12-13
    • 1970-01-01
    • 2019-01-02
    • 2017-05-13
    • 2018-11-20
    • 2019-12-10
    • 2018-10-25
    • 2014-06-03
    • 2015-06-04
    相关资源
    最近更新 更多