【发布时间】:2017-11-11 09:36:26
【问题描述】:
下面是场景。
>>> False and 0
=> False
>>> 0 and False
=> 0
两个条件都一样,为什么返回的结果不一样?
>>> 0 or False
=> False
>>> False or 0
=> 0
同样,两个条件都应该返回相同的结果,但为什么它们不同呢?
同样适用于True 和1
【问题讨论】:
-
你在混合布尔值和整数
-
@ΦXocę웃Пepeúpaツ 当我们同时使用 bool 和 int 时,是否有特定的执行顺序?
-
@ΦXocę웃Пepeúpaツ 布尔值在 Python 中是
ints,试试isinstance(False,int) -
正如骗子所说“如果 a 为真,a 和 b 返回 b,否则返回 a。如果 a 为真,a 或 b 返回 a,否则返回 b。”
-
@ΦXocę웃Пepeúpaツ
isinstance(False,bool)和isinstance(False,int)返回相同。是不是,布尔值被解释为整数?
标签: python python-3.x logical-operators