逻辑运算符
-
and 与
连接左右两个条件,只有在两个条件同时成立的情况下最终结果才为True
# True
print(5 > 1 and 1 < 9)
全是and的情况下,只要有一个为假,这个结果就是假。
-
or 或
连接左右两个条件,只要一个条件成立的情况下,结果为True
# True
print(5 > 1 or 1 > 9)
全部or的情况下,只要有一个为真,这个结果就是真。
-
not 非
取反
# False
print(not 5 > 1)
原理为:
(1) not的优先级最高,就是把紧跟其后的那个条件结果取反,所以not与紧跟其后的条件不可分割
# True 先not 5>1:False, 再or 3>1:true, 所有最后 False or True: True
print(not 5 > 1 or 3 > 1)
not 相当于小学学的乘除法,and和or相当于加减法
(2)如果语句中全部是用and连接,或者全部用or连接,那么按照从左到右的顺序依次计算即可
(3)如果语句中既有and也有or,那么最好的办法就是通过小括号来提高优先级保证顺序,然后再进行运算
# True
print(5 < 1 or (3 > 1 and 6 > 1))
判断条件加逻辑运算符
# True
if 3 > 1 and (2 > 5 or 10 > 1):
print(True)
else:
print(False)
三目运算
三目运算:
满足条件的结果 if 条件 else 不满足条件的结果
只能对if ...else
例子:
# False
print(True) if 1 > 5 else print(False)
这种可读性不好, 一般也不会这么写。