In [20]: print None or False -------> print(None or False) False In [21]: print False or None -------> print(False or None) None
这种行为使我感到困惑。有人可以向我解释为什么会这样吗?我希望它们的行为相同。
表达式x or y的计算结果为x,如果x是真的,或者y如果x是假的。
x or y
x
y
请注意,以上句子中的“ true”和“ false”是指“真实性”,而不是固定值True和False。某些“真”的东西会使if语句成功;某些“假”的东西会使它失败。“假”值包括False,None,0和[](空单)。
True
False
if
None
0
[]