Python 3 逻辑 not 将 True 返回为 True

标签 python python-3.x boolean logical-or logical-and

在我尝试学习 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 吗?

最佳答案

您应该查看 operator precedence .

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

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

关于Python 3 逻辑 not 将 True 返回为 True,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52593399/

相关文章:

python - 为随机函数编写测试

python - 为什么我老化的 Django 1.3.1 站点在迁移到新服务器后说 '' TemplateDoesNotExist at/admin/“?

python - blender Python MySQL

python - 在 python 中使用 geopandas 将数据帧保存到 shapefile 会引发 bool 的 ValueError

math - 概率符号

python - 使用 2x2 矩阵广播 2D 点列表的点积

python - 如何检查 selenium 中的元素属性是否返回 "display: none"?

python-3.x - 分组后数据帧索引上的 trapz 集成

java - boolean 方法不返回 false

C++ TicTacToe 问题