逻辑运算


逻辑运算的优先级

在没有括号的情况下:not > and > or   同一优先级按照从左至右的顺序计算。

int转换为bool,bool只有真假两个值,所以数字0转换为bool就等于false,非零数字转换为bool就等于True。

OR
print(1 or 2)#结果为1
print(2 or 1)#结果为2
print(0 or 2)#结果为2
print(0 or 100)#结果为100
结论:前面为真,返回前面的;前面为假,则返回后面的

print(1 > 2 or 2 > 1)#1>2为假,所以返回后面的:True(2>1=True) print(2 > 1 or 1 > 2)#2>1为真,所以返回前面的结果:True

结论:数字会返回数字,而逻辑运算只有True,False。


AND
print(1 and 2)#结果为2
print(2 and 1)#结果为1
print(0 and 2)#结果为0
print(0 and 100)#结果为0
结论:andor 相反。
前面为真,返回后面;前面为假,则返回前面的
print(1 > 2 and 2 > 1)#1>2为假,所以返回前面的结果:False
print(2 > 1 and 1 >2)#2>1为真,所以返回后面的结果:False