python 逻辑运算及奇怪的返回值(not,and,or)

首先,‘and’、‘or’和‘not’的优先级是not>and>or。

同一优先级从左往右计算。

先说非运算,Python的非运算与这些语言相比,并没有特别的地方。not只有两个返回值,True和False。在Python中,真值为假的对象,包括False,None,数字0,空字符串以及空的容器类型。除此以外的任何对象均为真。

 

接下来是与运算,Python的与(and)运算的规则是

若左边的表达式为真,则返回右边表达式的值

否则,返回左边表达式的值

 

最后再来说或运算,Python的或(or)运算的规则是

若左边的表达式为真,则返回左边的表达式的值

否则,返回右边的表达式的值

用代码来感受一下吧:

 

那现在我们再加入优先级相关的混合运算:

#首先 not 的优先级最高那么not 8 返回False
#(False or 3 and 4 or 2 and 0 or 9 and 7 )
#接下来的优先级是and
#(False or 4 or 0 or )
#最后or 返回真值 4
posted @   CWG-ZSK  阅读(610)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示