and 并且 两边操作数都是true结果为真,有一个假为假
or 或者 只要有一个真,结果为真
not 逻辑取反 只有一个操作数,结果为true返回false 结果为true返回false
在C和java中,&&表示并且 ||表示或者 !表示取反
相比之下,python可读性更高
短路求值
and左边为假,整体为假,右边不会执行到,相当于右边被短路
or左边为真,整体为真,右边不会执行到,相当于右边被短路
print(0 and 10 / 0 == 1)//运行不会报错,说明右边不会执行,如果执行抛出异常
print(1 or 10 / 0 == 1)//运行不会报错,说明右边不会执行,如果执行抛出异常
print(0 and 10 / 0 == 1)
print(0 or 10 / 0 == 1)
为什么会异常?因为我们规定0不可以作为除数。