在我尝试学习 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 返回吗?
在我尝试学习 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 返回吗?
您应该查看运算符优先级。
让我们检查这个表达式并根据它们的优先级处理每个运算符:
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