【问题标题】:Why does print(3 > 0 == True) show False? [duplicate]为什么 print(3 > 0 == True) 显示为 False? [复制]
【发布时间】:2021-10-19 14:40:10
【问题描述】:

python比较运算符的顺序优先级是从左到右。这样,print(3 > 0 == True) 显示 False,但等效语句:print((3 > 0) == True) 显示 True。 此外,print(3 > (0 == True)) 显示 True。

那么为什么print(3 > 0 == True) 显示为 False?

我的python版本是3.8.2。

【问题讨论】:

  • 它们是等价的语句。 x > y == z 不等于 either (x>y) == zx > (y == z)。比较运算符不具有关联性。

标签: python operator-precedence comparison-operators


【解决方案1】:

会发生什么:

3 > 0 == True 被解释为(3>0) AND (0==True),它给出True AND False,当然False

这就是为什么例如语句:3 > 1 == True 计算结果为True

【讨论】:

猜你喜欢
  • 2019-04-24
  • 2012-07-06
  • 1970-01-01
  • 2021-11-10
  • 2015-09-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多