知识在前
- x and y 布尔“与” 如果 x 为 False,返回 x 的计算值,否则它返回 y 的计算值
- x or y 布尔“或” 如果 x 是 True,返回 y 的计算值,否则它返回 y 的计算值
- 首先要明确一点,and 的运算优先级要高于 or。
Python 中 and 和 or 的有趣现象:这里不说普通的判断情况,只说特别的:
case 1:
>>> "x" and "s" or "y"
"s"
分析:先运算 “x” and “s”,”s” 算作 True,结果返回 “s”。再运算 “s” or “y”,”s” 算作 True,结果返回 “s”。
case 2:
>>> False and "s" or "y"
"y"
分析:先运算 False and “s”,False 算作 False,结果返回 False。再运算 False or “y”, False 算作 False,结果返回 “y”。
case 3:
>>> 1 and 2 or 3
2
分析:判断对数字同样有效,具体分析同上