提问人:luci0 提问时间:1/3/2023 更新时间:1/3/2023 访问量:22
在布尔中学习和理解逻辑时感到困惑
confusion while learning and understanding logic in Boolean
问:
在python中, 为什么 (2 == True) #==> False 而 bool(2) #==> True ? 这两者之间的逻辑有什么不同,为什么一个提供 False 而另一个提供 True 。
答:
2赞
Bram van Asseldonk
1/3/2023
#1
在第一种情况下,您将整数值 2 与布尔值 True 进行比较。你本质上是在问这两者是否相同。在 Python 中,这些是不一样的,因此 python 解释器返回 .2 == True
False
在第二种情况下,将整数转换为布尔值。你基本上是在问,如果这是一个布尔值,它会是什么布尔值?在 Python 中,bool 方法将始终返回 True,除非:bool(2)
- 提供的对象是空的,比如
[], {}, ()
- 提供的对象是 ,如
False
3 == 4
- 提供的对象为 0
- 提供的对象是
None
由于整数值 2 不是上述值,因此将返回 .bool(2)
True
有关该方法的详细信息,请查看此链接。bool
希望这有帮助!
评论