首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python 3 Logical not返回True作为True

Python 3 Logical not返回True作为True
EN

Stack Overflow用户
提问于 2018-10-01 22:32:56
回答 1查看 52关注 0票数 1

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

下面这段代码让我觉得:

代码语言:javascript
复制
>>>print(not 1 == 1 or 6 == 6 and 9 == 9)  
True

我已经运行了这段代码的不同部分。看起来OR运算符是在用一个双重True来否定自己。(不是True或True)输出True而不是False?or运算符不应该在第一个True时结束,而not运算符返回True为False吗?

EN

回答 1

Stack Overflow用户

发布于 2018-10-01 22:38:28

你应该调查一下operator precedence

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

代码语言:javascript
复制
not 1 == 1 or 6 == 6 and 9 == 9

首先,执行==操作符,因此我们得到:

代码语言:javascript
复制
not True or True and True

然后,not运算符:

代码语言:javascript
复制
False or True and True

然后,and运算符:

代码语言:javascript
复制
False or True

然后,or操作符,生成您所看到的结果:

代码语言:javascript
复制
True
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52593399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档