为什么在python3中'[False]或[True]'的计算结果为[False]?这是我尝试过的。
[True] or [False] evaluates to [True]
[False] or [True] evaluates to [False]
[False] or True evaluates to [False]
False or [True] evaluates to [True]
False or True evaluates to True
为什么or运算符没有可交换性?
答案 0 :(得分:0)
1)像[True]
和[False]
这样的非空序列被视为真值。顺序是什么无关紧要,只有当它为空时才是假的。
2)表达式x or y
首先计算x
;如果x
为true,则返回其值;否则,将评估y
并返回结果值。
现在将这些发现应用于您的表情:
[True] or [False] evaluates to True, return first, [True]
[False] or [True] evaluates to True, return first, [False]
[False] or True evaluates to True, return first, [False]
False or [True] evaluates to True, return second, [True]
False or True evaluates to True, return second, True