逻辑运算用于对布尔型变量进行运算,其结果也是布尔型。
true 和 false 就是 布尔值。
运算顺序:先运算左右两边的表达式得出布尔值,再进行逻辑运算。
逻辑运算符有三种:and(与)、or(或)、not(非)。
and 逻辑与 两个为真才为真 体验代码
print(True and True)
print(True and False)
print(False and True)
print(False and False)
【终端输出】
True
False
False
False
观察输出结果,发现在进行逻辑与的计算时,只有运算符左右两边的布尔值都为TRUE,结果才为TRUE。
记忆口诀为两个为真才为真。
体验代码
print(2>0 and 5>0)
print(2>0 and 5<0)
print(2<0 and 5>0)
print(2<0 and 5<0)
【终端输出】
True
False
False
False
计算顺序:先计算and 左右两边的表达式。
讲解第一行代码:
左边表达式 2 > 0 的布尔值为 TRUE,
右边表达式 5 > 0 的布尔值为 TRUE,
true and true ,左右两边都为真,则第一行代码结果为TRUE。
在逻辑与计算中,只有两边的值都为true,结果才为true。
or 逻辑或 两个为假才为假
体验代码
print(True or True)
print(True or False)
print(False or True)
print(False or False)
【终端输出】
True
True
True
False
观察输出结果,发现在进行逻辑或的计算时,只有运算符左右两边的布尔值都为false,结果才为false。
记忆口诀为两个为假才为假。
体验代码
print(2>0 or 5>0)
print(2>0 or 5<0)
print(2<0 or 5>0)
print(2<0 or 5<0)
【终端输出】
True
True
True
False
计算顺序:先计算or 左右两边的表达式。
讲解第一行代码:
左边表达式 2 > 0 的布尔值为 TRUE,
右边表达式 5 > 0 的布尔值为 TRUE,
true or true ,则第一行代码结果为true。在逻辑或计算中,只有两边的值都为FALSE,结果才为FALSE。
not 逻辑非 真变假,假变真 体验代码
print(not True)
print(not False)
【终端输出】
False
True
进行逻辑非的计算时,运算符右边的布尔值为true,则输出结果为false,右边的布尔值为false,则输出结果为true。
逻辑运算符的优先级
() >not >and >or
意思是在逻辑的混合运算中,先计算() 内的表达式,在计算not,在计算and,最后计算or。
print(2>0 and 3<0 or 3<0)
print(2>0 or 3<0 and 3<0)
print(('test'=='Test') or 1!=1.0 and 2==2.0)
【终端输出】
False
True
False
请大家自己分析一下上述代码,看结果是否和运行结果一样。
注意:== != 判断的是对象的值是否相等。