逻辑运算符
-
逻辑运算符 与 and
只要有一个运算数是False,结果就是False
# 与:只要有一个运算数是False,结果就是False print(2 > 1 and 5 > 3 and 10 > 2) # True print(3 > 2 and 5 < 4 and 6 > 1) # False
-
逻辑运算符 或 or
只要有一个运算数是True,结果就是True
# 或:只要有一个运算数是True结果就是True print(3 > 9 or 4 < 7 or 10 > 3) # True
-
逻辑运算符 非 not
取反值
# 非:取反 print(not (5 > 2)) # False
-
逻辑运算符的短路
-
逻辑与运算符的短路:
# 逻辑与运算,只有所有的运算数都是True 结果才是True # 只要有一个运算数是False,结果就是False 4 > 3 and print('hello world') # 会打印hello world 4 < 3 and print('你好世界') # 不会打印你好世界,因为前面的已经是False了,这就是逻辑与运算符的短路问题
-
逻辑或运算符的短路:
# 逻辑或:只有所有的运算数都是False,结果才是False # 只要有一个运算数是True,结果就是True 4 > 3 or print('hello world')# 前面的是True 所以后面的就不会再打印了 4 < 3 or print('heiheihei')# 前面是False 所以后面的会打印
-
逻辑运算符的结果一定是布尔值吗?[不一定]
# 逻辑运算的结果,一定是布尔值吗? 不一定 # 逻辑与运算符做取值时,取第一个为 False的值,如果所有的运算数都是True,取最后一个值 print(3 and 5 and 0 and 'hello') # 0 # 逻辑或运算符做取值时,取第一个为True的值,如果所有值都是False,取最后一个False print(0 or [] or 'lisi' or 5 or 'ok')
-