逻辑理论
1.布尔类型(计算机只谈真假)
布尔类型的值只有两个: True 或者 False, 也就是“真”或“假’
if 520 > 250:
print('520比250大!')
else:
print('520不比250大!')
520 > 250 大
2.逻辑运算符
and : 左边和右边同时为True,结果为True
or : 左边或右边其中一个为True,结果为True
not : 如果操作数为True,结果为False
如果操作数为False, 结果为True
and 和 or 的运算符,计算结果不一定是 True或者False
这要看它的操作数是什么了,如果你给到的操作数是两个数值,那么它的运算结果也是数值:
>>> 3 and 4
4
>>> 4 or 5
4
如果给到操作数的是两个字符,那么它的结果也是字符串:
>>>"FiscC" and "LOVE"
"LOVE"
在鱼C和爱情之间,计算机选择了爱情。
短路逻辑
短路逻辑的核心思想:从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。
:只要可以检查完第一个结果后检测出逻辑结果,就直接出结果,不进行后面的运算。
3 and 4 # 比如说这个3 and 4 因为 and 只有当两边都为True时,才会抛出结果。所以要到4,发现4也为True,那这个and运算结果就是4. 如果 是 0 and 4 直接就抛出了0 因为可以判断出结果为False了。
>>> 4
3 or 4 # 这个 or 运算一样,根据它的逻辑,只要一个为True即为True。所以直接Python就抛出第一个结果
>>> 3
tip: 非0数都是True
常用逻辑优先级顺序: not > and > or
False or 0 = 0
(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
not 1 = False
0 and 1 = 0
3 and 4 = 4
5 and 6 = 6
7 and 8 and 9 = 9
False or 0 or 4 or 6 or 9
False or 0 = 0
0 or 4 or 6 or 9 = 4