python逻辑表达式短路特性

python中常规的逻辑操作符使用方式如下:

>>> True and False
False

>>> True or False
True

>>> not False
True

在对逻辑表达式进行计算,某些情况下由于“短路”特性,只需要计算部分表达式作为最终的结果。

  • 计算表达式 <left> and <right>
    1. 先计算左边的表达式 <left>
    2. 如果左边表达式计算结果为假值 v,则整个表达式结果为 v因为左边表达式为假,则整个表达式为假,右边的部分不需要再计算
    3. 否则,整个表达式的值为右边表达式 <right> 的计算结果,因为在左边表达式为真的情况下,整个表达式为假或为真由右边的表达式决定

例子:

>>> 0 and True
0
>>> 1 and -1
-1
>>> 1 and 0
0
  • 计算表达式 <left> or <right> :
    1. 计算左边表达式 <left>
    2. 如果计算结果为一真值 v ,则整个表达式的结果为 v因为左边表达式结果为真之后,整个表达式结果为真,右边表达式不需要再计算
    3. 否则,整个表达式的值由右边表达式 <right> 决定

例子:

>>> 2 or False
2
>>> 0 or 3
3
>>> False or 0
0
  • 计算表达式 not <exp> :
    计算<exp>,如果值为假整个表达式结果为True,否则结果为False

posted @ 2019-01-02 17:46  yuyin  阅读(206)  评论(0编辑  收藏  举报