为什么在python3中'[False]或[True]'的计算结果为[False]?

时间:2019-09-26 14:38:58

标签: python-3.x

为什么在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运算符没有可交换性?

1 个答案:

答案 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