a=10
b=20
print(not a) #False
print(a and b) #20
print(a or b) #10
Python中的and和or是特有的短路运算符。简单来说就是and只要左侧逻辑值为False,则直接短路其后的所有表达式,不再进行运算,直接输出False,如果一直到表达式最后一直为True,就输出最后一个表达式。而or是只要左侧逻辑值为True,也不再进行运算,直接输出从左到右第一个为True的表达式。
>>> 10 or 20 # 10为True,因此不再运算右侧,直接输出左侧表达式
10
>>> 20 or 10
20
>>> 10 and 20 # 一直运行到结束,输出最后一个表达式结果
20
>>> 20 and 10
10
1、and:x and y--布尔"与" -- 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值
2、or:x or y--布尔"或" -- 如果 x 是非 0,它返回 x 的计算值,否则它返回 y 的计算值
3、not:not x--布尔"非" -- 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True