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
为空
View Code

##其他例子

print(1 or 0) # 1
print(0 and 2 or 1) # 1
print(0 and 2 or 1 or 4) # 1

以上是关于Python中notandor的优先级的主要内容,如果未能解决你的问题,请参考以下文章

Python中运算符notandor

python 布尔值 bool( ) 与逻辑运算符

常用python日期日志获取内容循环的代码片段

JAVA中的关系运算符的优先级是啥意思?还有逻辑运算符的优先级

python 用于数据探索的Python代码片段(例如,在数据科学项目中)

# Java 常用代码片段