在布尔中学习和理解逻辑时感到困惑

confusion while learning and understanding logic in Boolean

提问人:luci0 提问时间:1/3/2023 更新时间:1/3/2023 访问量:22

问:

在python中, 为什么 (2 == True) #==> False 而 bool(2) #==> True ? 这两者之间的逻辑有什么不同,为什么一个提供 False 而另一个提供 True 。

python-3.x 布尔 逻辑 boolean-logic

答:

2赞 Bram van Asseldonk 1/3/2023 #1

在第一种情况下,您将整数值 2 与布尔值 True 进行比较。你本质上是在问这两者是否相同。在 Python 中,这些是不一样的,因此 python 解释器返回 .2 == TrueFalse

在第二种情况下,将整数转换为布尔值。你基本上是在问,如果这是一个布尔值,它会是什么布尔值?在 Python 中,bool 方法将始终返回 True,除非:bool(2)

  • 提供的对象是空的,比如[], {}, ()
  • 提供的对象是 ,如False3 == 4
  • 提供的对象为 0
  • 提供的对象是None

由于整数值 2 不是上述值,因此将返回 .bool(2)True

有关该方法的详细信息,请查看此链接bool

希望这有帮助!