带有int的Python“ and”运算符


问题内容

用Python对此行为的解释是什么?

a = 10
b = 20
a and b # 20
b and a # 10

a and b计算结果为20,而b and a计算结果为10。正整数等于True吗?为什么要求第二个值呢?因为是第二?


问题答案:

文档对此进行了很好的解释:

表达式x and y首先计算x; 如果x为假,则返回其值;否则,y将求值并返回结果值。

同样,or这可能是您的下一个问题。

表达式x or y首先计算x; 如果x为true,则返回其值;否则,y将求值并返回结果值。