1. 逻辑运算符
python中也支持逻辑运算,但python中逻辑运算符的功能与其它语言有所不同. python中分别使用’or’, ‘and’, ‘not’这三个单词作为逻运算’或’, ‘与’, '非’的运算符,其中or与and为双目运算符,not为单目运算符.
逻辑运算符的操作数可以为表达式或对象,下面将对它们的功能分别进行说明
1. or
若or运算符左操作数的布尔值为True,则返回左操作数,否则返回右操作数或其计算结果(若为表达式),示例如下:
```py
>>> 0 or 3+5 # 左操作数布尔值为False
8
>>> 3 or [] # 做操作数布尔值为True
3
```
2. and
若左操作数的布尔值为False,则返回左操作数或其计算结果(若为表达式),否则返回右操作数的执行结果,示例如下:
```py
>>> 3-3 and 5
0
>>> 3-4 and 5
5
3. not
若操作数的布尔值为False则返回True,否则返回False,示例如下:
```py
>>> not (3-5)
False
>>> not(False)
True
```
2. 逻辑运算符的优先级
not > and > or
默认情况下,运算符的优先级决定了复杂表达式中的那个单一表达式先执行,但用户可以使用圆括号"()"
改变表达式的执行顺序.
运算符一般按照自左向右的顺序结合
>>> 0 and 3 or 4 # 可以理解为 0 * 3 + 4 这样.先判断前一部分,然后和后一部分操作
4
>>> 0 and 3 or 4 and 5 # 0*3 + 4*5
5
>>> 0 and 3 or 4 and 5 or 6 # 0*3 + 4*5 + 6
5
>>> 0 and 3 or 4 and 5 or 6 and 7 # 0*3 + 4*5 + 6*7
5