为什么(True or False)不返回 False? [复制]

原文标题Why does not(True or False) return False? [duplicate]

这个问题在这里已经有了答案:“and”和“or”如何作用于非布尔值? (8 个回答) 13 分钟前关闭。

刚开始学习 Python。是 not(True or False) 返回 False 的原因,因为:

  1. “真或假”不是假的。因此,不是 Falsy = Truthy。因此,not(Truthy) = False;要么
  2. 例如,”bag” > “apple” 将返回 True,因为 Python 取第一个字符串进行比较,即 “b” 和 “a” 并且 b 大于 a;因此,返回 True。应用相同的逻辑,Python 只会采用 (True or False) 中的第一条语句,这将是 True,因此,not(True) = False;要么
  3. 它与“非”和“或”运算符的优先顺序有关,我不太了解,非常感谢任何解释。

谢谢!

原文链接:https://stackoverflow.com//questions/71509867/why-does-nottrue-or-false-return-false

回复

我来回复
  • ProgrX的头像
    ProgrX 评论

    这是(a or b)&not (a or b)的真值表

    enter image description here

    如您在第 3 行(右侧)中看到的,如果您取a = Trueb = False,那么结果将是False

    2年前 0条评论
  • Pablo Ruiz的头像
    Pablo Ruiz 评论

    按顺序计算表达式:

    (True or False) = True由于布尔代数

    not (True or False) = not (True) = False当你否定真时,假也是

    Python 将 True 和 False 解释为布尔值,在布尔值的上下文中,“not”、“or”、“and”的行为与布尔运算符完全相同,即使它们支持其他类型的操作数。

    2年前 0条评论