3.3 逻辑运算符
Python中使用逻辑运算符对关系表达式或者布尔类型值做逻辑判断。
逻辑运算符有:and,or,not
and (逻辑与)
逻辑与的运算规则为:两个操作数都为True,结果为True;否则均为False。
当 x = False; y = True时,x and y 将返回 False 。在这一情境中,Python 将不会计算表达式 y,因为它已经了解 and 表达式的左侧是 False ,这意味着整个表达式都将是 False 而不会是别的值。这种情况被称作短路计算(Short-circuit Evaluation)。
or (逻辑或)
逻辑或的运算规则为:两个操作数都为False,结果为False;否则均为True。
当x = Ture; y = False时,x or y 将返回 Ture 。在这里短路计算同样适用。
not (逻辑非)
逻辑非的运算规则为:如果 x 是 True ,则返回 False 。如果 x 是 False ,则返回 True 。
x = True; not x 返回 False 。
布尔运算的真值表:3.3-逻辑运算符.py
# 逻辑运算符左右两边必须是逻辑值:True,False
# and 逻辑与
print('val1\tval2\tand')
print('True\tTrue\t{}'.format(True and True))
print('True\tFalse\t{}'.format(True and False))
print('False\tTrue\t{}'.format(False and True))
print('False\tFalse\t{}'.format(False and False))
print('\n')
# or 逻辑或
print('val1\tval2\tor')
print('True\tTrue\t{}'.format(True or True))
print('True\tFalse\t{}'.format(True or False))
print('False\tTrue\t{}'.format(False or True))
print('False\tFalse\t{}'.format(False or False))
print('\n')
# not 逻辑非
print('val1\tnot')
print('True\t{}'.format(not True))
print('False\t{}'.format(not False))
结果为:
val1 val2 and
True True True
True False False
False True False
False False False
val1 val2 or
True True True
True False True
False True True
False False False
val1 not
True False
False True