python - 与 0 比较的异常

标签 python python-3.x numbers boolean zero

嘿,我的问题很基本,而我在表达中玩耍

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/

相关文章:

javascript - 如何让随机数等于javascript中的特定数字?

java - 通过这种方式我会得到更好的随机性吗?

python - 适用于 Linux 的可移植 .so 库

python - pygame "Paint"程序 - 在 Canvas 上绘制空矩形

python - 如何比较 Python 中两个不同元组列表中的键?

java - 程序阻止打印这两条消息

python - 在 Django 中,我可以 `defer()` 对象中的 `select_related()` 字段被 0x104567910 查询吗

Python 请求 "No Client Certificate present in Http Request"

python - 如何覆盖 python 的 "not in"运算符

python - 根据两个元素对元组列表进行排序