python基础not,and,or的优先级

结论

先说结论,优先级:not > and > or 

过程

比较 or 和 and

>>> True or False and False
True
  • 假设 or 的优先级高于 and ,这个公式的结果会是False,因为会先计算(True or False) = True ,再计算(True and False) = False,所以这个假设不成立。
  • 从输入结果是True可以看出,and的优先级要高于or,这个公式是先求出(False and False) = False ,
    再计算(True or False) = True

比较 and 和 not

>>> True and True and not False
True
>>> not False or True and True
True
  • 由上两个公式可以得出not优先级高于and:第一公式先计算(not False) = True ,再计算(True and True and True) = True.
  • 这第二个公式先计算(not False) = True , 再计算 (True and True) = True ,接着计算(True or True) = True

短路逻辑运算规则

and 规则

  • 公式开关为 and , and 的左侧为 False 时,其结果必定为 False,短路后面的公式不用参与计算。如:
>>> False and True or True and not True or False
False
>>> False and False or not True and False
False

or 规则

  • 公式开关为 or , or 的左侧为 True 时,其结果必定为 True ,短路后面的公式不用参与计算。 如:
>>> True or False and True and not False
True
>>> True or True or False and False and not False
True
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值