首页 > 解决方案 > Python 3 逻辑非返回 True 作为 True

问题描述

在我尝试学习 Python 的过程中,我一直在根据教程和我自己的教程编写代码。我正在使用 Python 3。

正在做我的一段代码:

>>>print(not 1 == 1 or 6 == 6 and 9 == 9)  
True

我已经运行了这段代码的各个部分。似乎 OR 运算符用双 True 否定自己。(不是 True 或 True)输出 True 而不是 False?or 运算符不是假设在第一个 True 上得出结论,而 not 运算符将 True 作为 False 返回吗?

标签: pythonpython-3.xbooleanlogical-orlogical-and

解决方案


您应该查看运算符优先级

让我们检查这个表达式并根据它们的优先级处理每个运算符:

not 1 == 1 or 6 == 6 and 9 == 9

首先,==运算符被执行,所以我们得到:

not True or True and True

然后,not运营商:

False or True and True

然后,and运营商:

False or True

然后,or操作员产生您所看到的结果:

True

推荐阅读