当我运行"0和True"或"0和False"时,为什么我得到0

1 python boolean-expression

考虑这段代码:

>>> 0 and True
0
>>> 0 and False
0
Run Code Online (Sandbox Code Playgroud)

0当我在Python中运行上述命令时,为什么会出现这种情况?

pas*_*ein 7

and求值的第一个条件False(在Python中为0时),第二个参数根本不被计算,因为它and永远不会变为真.这称为短路.在这种情况下,表达式的结果是第一个操作数,在您的情况下为0.