【第五期基础.20200525】运算符
运算符
1.1 运算符的概念
- 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。
例如:2+3,其操作数是2和3,而+则是运算符
1.2 运算符分类
- 算数运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 条件运算符
1.3 算数运算符
- 加法运算符 表达形式 +
- 减法运算符 表达形式 -
- 乘法运算符 表达形式 *
- 除法运算符 表达形式 /
- 求余取模 表达形式 % 求2个数相除的余数
- 幂运算 表达形式 ** 求一个值的几次幂
1.4 赋值运算符
赋值运算符的特殊写法 x = x + 3,其实是和x += 3 是一样的
- **= (如:x ** 3 相当于 x = x ** 3)
- //= (如:x // 3 相当于 x = x // 3)
1.5 比较运算符
- 比较运算符,用来比较两个值之间的关系,总会返回一个布尔值。如果关系成立,返回true;反之,则返回false
- 特殊的比较方式
== 比较两个对象的值是否相等
!= 比较两个对象的值是否不相等
is 比较两个对象是否是同一对象,比较的是对象的ID
is not 比较两个对象是否不是同一对象,比较的是对象的ID
1.6 逻辑运算符
1.6.1 not / ! (逻辑非 取反)
- true变false
- false变true
1.6.2 and / &&(逻辑与 并且)
- 遇false则返回false(如第一个值为false,则不再看第二个值)
- 只有2边同时为true,才返回true
1.6.3 or / || (逻辑或 或者)
- 遇true则返回true (只要有一个值为true,就返回true)
- 只有2边同时为false,才返回false
1.6.4 非布尔值的与/或运算
-
当我们对非布尔值进行与或运算时,python会将其当做布尔值运算,最终会返回原值
-
非布尔值与运算的规则
与运算是找false的,如果第一个值是false,则不再看第二个值。如果第一个值是false,则直接返回第一个值,否则返回第二个值。
-
非布尔值或运算的规则
或运算是找true的,如果第一个值是true,则不再看第二个值。如果第一个值是true,则直接返回第一个值,否则返回第二个值。
注意事项:
- 逻辑运算符的2边一定要是boolean类型的值,或者是结果为boolean类型的表达式
- 逻辑表达式的结果是boolean类型的数据
- 逻辑运算符的短路问题:
- 逻辑与:如果左边为false,那么逻辑与运算符的右边就不会运算
- 逻辑或:如果左边为true,那么逻辑或运算符的右边就不会运算
1.6.5 条件运算符(三元运算符)
PS:课程未学到,内容待完善!
运算符的优先级
自增自减运算符 > 算数运算符 > 比较运算符 > 逻辑运算符 > 条件运算符(三元运算符) > 赋值运算符