gpt4 book ai didi

python - 为什么 'and' 和 'or' 对于 0、1、True、False 的表现不同?

转载 作者:太空宇宙 更新时间:2023-11-03 15:08:12 24 4
gpt4 key购买 nike

以下是场景。

>>> False and 0
=> False
>>> 0 and False
=> 0

两个条件相同,但为什么返回不同的结果?

>>> 0 or False
=> False
>>> False or 0
=> 0

同样,两个条件应该返回相同的结果,但为什么不同呢?

同样适用于 True 的情况和1

最佳答案

在 python 中,and 或 运算符不返回 bool 值。他们返回最后评估的东西。由于它们是短路运算符,因此表达式 0 和 False 需要计算的最后一个值是 0。同样,对于 0 或 False,最后需要检查的是第二个操作数 False

来自Python文档:

  • x 或 y:如果 x 为 false,则 y,否则 x
  • x 和 y:如果 x 为 false,则 x,否则 y
  • not x:如果 x 为 false,则为 True,否则为 False

关于python - 为什么 'and' 和 'or' 对于 0、1、True、False 的表现不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44456584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com