python - 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 返回吗?
解决方案
您应该查看运算符优先级。
让我们检查这个表达式并根据它们的优先级处理每个运算符:
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
推荐阅读
- asp.net-mvc - 从身份服务器请求用户声明和令牌的功能?
- php - 基于特定事件类型 ID 的唯一输入字段
- php - 如何计算 Laravel 加密方式输出的最大长度?
- c++ - 将参数转换为 LPWSTR CreateProcess
- symfony - 你如何路由到 Symfony4 中的 vanilla php 脚本?
- c - 如何在C中编写接受比较器的函数?
- mongodb - MongoDB count() 查询在 mongo shell 中返回过时的结果
- excel - 在“Workbook_Open”中合并两个宏
- python - 使用 Tkinter OptionMenu 小部件的数据库查询
- mysql - Typeorm groupBy 按 orderBy 另一列获取最后一行