目录
- 运算符
• 运算符的概念
• 运算符的分类 - 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
• not 逻辑非
• and 逻辑与
• 逻辑或
• 非布尔值的与或运算 - 条件运算符(三元运算符)
- 运算符的优先级
1. 运算符
1.1 概念
• 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”
1.2 五类运算符
• 算术运算符
• 赋值运算符
• 比较运算符(关系运算符)
• 逻辑运算符
• 条件运算符(三元运算符)
2. 算术运算符
• 加法 : +
• 减法: -
• 乘法: *
• 除法: /
• // 整除:只会保留计算后的整数位,总会返回一个整型
• % 余数
• ** 幂运算
3. 赋值运算符
复制运算符的特殊写法 x = x + 3 其实是和 x += 3 是一样的
• += (x+= 3 相当于 x = x + 3 )
• -= (x -= 3 相当于 x= x - 3 )
• *= (x *= 3 相当于 x = x * 3 )
• **= (x **= 3 相当于 x = x ** 3 )
• /= (x /= 3 相当于 x = x/ 3 )
• //= (x //= 3 相当于 x = x // 3 )
• %= (x %= 3 相当于 x= x % 3 )
4. 比较运算符
• 比较运算符( > ; >= ; < ;<= )用来比较两个值之间的关系,总会返回一个布尔值。如果关系成立,返回True,否则返回False
特殊的比较方式
• == 比较两个对象的值是否相等
• != 比较两个对象的值是否不相等
• is 比较两个对象是否是同一个对象,比较的是对象的id
• is not 比较两个对象是否不是同一个对象,比较的是对象的id
5. 逻辑运算符
5.1 not 逻辑非
• not可以对符号右侧的布尔值进行非运算(反操作)True变False,False变True
5.2 and 逻辑与
• 与运算只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
• 与运算是找False的,如果第一个值为False,则不再看第二个值
5.3 or 逻辑或
• 或运算两个值中只要有一个True,就会返回True
• 或运算是找True的
5.4 非布尔值的与或运算
• 当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值。(0,空串,None-->Flase; 1&其他整数-->True)
非布尔值与运算的规则
• 与运算是找False的,如果第一个值是False,则不看第二个值。如果第一个值是False,则直接返回第一个值,否则返回第二个值。
非布尔值或运算的规则
• 或运算是找True的,如果第一个值是True,则不看第二个值。如果第一个值是True,则直接返回第一个值,否则返回第二个值。
6. 条件运算符(三元运算符)
条件运算符在执行时,会先对条件表达式进行求值判断
判断结果为True-->执行语句1-->返回执行结果
判断结果为False-->执行语句2-->返回执行结果
语法: 语句1 if 条件表达式 else 语句2
即:满足条件时的运算 if条件 else 不满足条件时的运算
7. 运算符的优先级
() >not>and > or
[运算符优先级参照表]
(https://docs.python.org/3/reference/expressions.html#operator-precedence)