短路逻辑
- 定义:python进行逻辑运算时,一旦结果确认,后面的语句不再执行
- 建议将复杂的判断放到后面
利用短路原理理解and和or返回值的本质:
- and的返回值规律:
- 从左到右计算表达式,遇到一个假时,满足一假俱假,不在执行后面的语句,返回第一个假值。
- 若所有的都为真,则返回最后一个值,
- or的返回值规律:
- 从左到右计算表达式,只要遇到一个真值时,满足一真俱真,不再执行后面的语句,返回第一个真值
- 若所有的都为假,则返回最后一个假值.
# 除了0、’’、[]、()、{}、None为False,其他都为True
In [1]: 3 and 0 and 4
Out[1]: 0
In [2]: 3 and 4 and 4
Out[2]: 4
In [3]: 3 or 0 or 4
Out[3]: 3
In [4]: "" or 0 or {}
Out[4]: {}
```