Python中notandor的优先级
Posted 耗油炒白菜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中notandor的优先级相关的知识,希望对你有一定的参考价值。
优先级:not > and > or
1、not与紧跟其后的那个条件是不可分割的
2、如果条件语句全部由纯and、或纯or链接,按照从左到右的顺序依次计算即可
print(True and 10 > 3 and not 4 < 3 and 1 == 1) print(False or 10 < 3 or not 4 < 3 or 1 == 1)
3、对于既有and又有or链接的语句,以and为中心把左右两个条件用括号括起来
res=(10 == 9 and 0 < 3) or (‘‘ == ‘egon‘ and 0> 3) or not True or (‘egon‘ == ‘dsb‘ and 333 > 100) or 10 > 4 print(res)
2、短路运算=>偷懒原则
所有的数据类型的值都自带布尔值,所以值可以直接被当成条件使用
0、None、空三种值对应的布尔值为False,其余全为True
#代码 if 0: print(‘ok‘) else: print(‘=====>‘) //执行结果 =====> #代码 if 3 and []: print(‘真‘) else: print(‘假‘) //执行结果 假
##and运算会返回当前计算位置的值
res=0 and 123 res=111 and 123 print(res) if 111 and 123: print(‘ok‘) else: print(‘no‘) x=‘‘ if x: print(‘不为空‘) else: print("为空") //执行结果 123 ok 为空
##其他例子
print(1 or 0) # 1
print(0 and 2 or 1) # 1
print(0 and 2 or 1 or 4) # 1
以上是关于Python中notandor的优先级的主要内容,如果未能解决你的问题,请参考以下文章
JAVA中的关系运算符的优先级是啥意思?还有逻辑运算符的优先级