【Python语法基础学习笔记】条件表达式和逻辑表达式
前言
此系列笔记是拨珠自己的学习笔记,自用为主,学习请移步其他大佬的专门教程。
条件表达式
通过关系运算符(>, <, ==, !=, >=, <=)进行运算的表达式,返回值为“False”和“True”。
逻辑表达式
通过逻辑运算符(and, or, not)运算的表达式。
注意逻辑表达式的几个特别之处:
短路操作:and 和 or 右边的值不一定会计算
另外,and 和 or 会将其中一个表达式的值作为最终结果,而不是将True 或者 False 作为最终结果。
典例
a = 5
b = not a
c = not b
d = not (a and c)
e = ((c-1) or (d+1))
print(b,c,d,e,type(e))
输出结果
False True False 1 <class 'int'>
补充
Python 运算符优先级(从上往下,优先级从高到低):
优先级 | 运算符 | 描述 | 结合性 | |
---|---|---|---|---|
1 | () | 小括号(分组) | 左→右 | |
2 | x[index] 、x.attribute 、x(...) | 下标、属性、函数调用 | 左→右 | |
3 | ** | 幂运算 | 右→左 | |
4 | +x 、-x 、~x | 正号、负号、按位取反 | 右→左 | |
5 | * 、/ 、// 、% | 乘、除、整除、取模 | 左→右 | |
6 | + 、- | 加法、减法 | 左→右 | |
7 | << 、>> | 左移、右移 | 左→右 | |
8 | & | 按位与 | 左→右 | |
9 | ^ | 按位异或 | 左→右 | |
10 | ` | ` | 按位或 | 左→右 |
11 | in 、not in 、is 、is not 、< 、<= 、> 、>= 、!= 、== | 比较、成员、身份运算符 | 左→右 | |
12 | not | 逻辑非 | 右→左 | |
13 | and | 逻辑与 | 左→右 | |
14 | or | 逻辑或 | 左→右 | |
15 | if-else | 条件表达式(三元运算) | 右→左 | |
16 | lambda | lambda 表达式 | 右→左 | |
17 | = 、+= 、-= 、*= 等 | 赋值运算符 |