1. 短路逻辑
and
和 or
这两个运算符都是遵从短路逻辑的。
短路逻辑的核心思想就是:从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值,第一个有结果了就不会继续往下了
2. 运算符优先级
这个表格从低到高列出了 Python 的运算符优先级:
1. 短路逻辑
and 和 or 这两个运算符都是遵从短路逻辑的。
短路逻辑的核心思想就是:从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值,第一个有结果了就不会继续往下了
2. 运算符优先级
这个表格从低到高列出了 Python 的运算符优先级:
3、tips:
>>> 1 == 2 < 3
答:False。
解析:注意,这个链式比较,拆出来是 1 == 2 and 2 < 3,而不是先 (1 == 2) < 3,得到的是两个截然不同的结果
>>> 1 < 2 > 3 < 4 < 5
答:1 < 2 and 2 > 3 and 3 < 4 and 4 < 5。
解析:固然链式比较有更容易辨识、更方便输入的优势,但如果“链子”拉太长,还是容易掉的。这时候,使用传统的普通比较拼接,代码会更容易阅读。