逻辑运算符的优先级 ()> not > and > or
and or 遵循短路原则
短路原则
-
表达式1 and 表达式2 and 表达式3 … 如果表达式1为假,则整个表达式的值为假,后面的表达式则没有计算的必要。
and 中有假,返回第一个假,后面的不进行计算;全是真,返回最后一个真
print(1 and False and 0) = False
print(1 and 0 and False) = 0 -
表达式1 or 表达式2 or 表达式3 … 如果表达式1为真,则整个表达式的值为真,后面的表达式的值就没有计算的必要。
or中有真,直接返回该真,其余不计算;全是假,返回最后一个假
print(1 or False or None) = 1
print([] or True or None) = True
print(False or {} or None) = None