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