首页 > 解决方案 > 在 Python 中,0 ==(1 或 0)返回 False。为什么它不返回True?

问题描述

我试图查看一个函数是否返回一个整数,其值应该是 1 还是 0。

0 == (1 or 0)

0 等于 1 或 0,这听起来应该是真的,但事实并非如此。

为什么?以及如何正确地做我想做的事情?

标签: pythonequalsboolean-logic

解决方案


0 == (1 or 0)被解析为这棵树:

  ==
 /  \
0    or
    /  \
   1    0

1 or 0结果1,因为or返回两个操作数的第一个真值(并且1是真值)。

之后,我们就剩下 了0 == 1,这显然是 False。

想要做的是检查是否0是您可以通过序列检查执行的值之一:0 in (0, 1)


推荐阅读