首页 > 解决方案 > 为什么 print(3 > 0 == True) 显示为 False?

问题描述

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。

标签: pythonoperator-precedencecomparison-operators

解决方案


会发生什么:

该值3 > 0 == True被解释为(3>0) AND (0==True)which give True AND Falsewhich is 当然False

这就是为什么例如语句:3 > 1 == True评估为True


推荐阅读