嘿,我的问题很基本,而我在表达中玩耍
3 和 3%3 == False 返回 True
但是
0 and 0%3 == False 返回 0
使用其他数字而不是 0,结果要么为 True 要么为 False,但绝不为 0。
我想知道是什么让 0 如此特别。
最佳答案
在所有整数中,0 是唯一被评估为 False
的整数。事实上,False
的值为 0(您可以尝试 print False + 0
)- 因此您得到第二个表达式的结果(X % Y == Z
即 True
/False
)。
任何其他整数和第一个参数是返回的 (int
) 因为 and
停止并返回第一个表达式 false-y 表达式(不需要继续一旦你在 and
表达式中命中了一个 False
)。下一个表达式是什么并不重要,因为它从未被计算过。
关于python - 与 0 比较的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31930351/