运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”
运算符的分类:
算术运算符
赋值运算符
比较运算符(关系运算符)
逻辑运算符
条件运算符(三元运算符)
算术运算符
加法运算符 表现形式 +
减法运算符 表现形式 -
乘法运算符 表现形式 *
除法运算符 表现形式 /
// 整除,只会保留计算后的整数位,总会返回⼀个整型
% 取余,求两个数相除的余数
** 幂运算,求⼀个值的几次幂
** 开方 – **0.5 开平方
赋值运算符
+= (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 )
比较运算符(关系运算符)
比较运算符用来比较两个值之间的关系,总会返回⼀个布尔值.如果关系成立,返回True,否则返回False
- > ⽐较左侧值是否⼤于右侧值
- >= ⽐较左侧的值是否⼤于或等于右侧的值
- < ⽐较左侧值是否⼩于右侧值
- <= ⽐较左侧的值是否小于或等于右侧的值
特殊的比较方式
- == 比较两个对象的值(value)是否相等
- != 比较两个对象的值(value)是否不相等
- is 比较两个对象是否是同⼀个对象,比较的是对象的id
- is not 比较两个对象是否不是同⼀个对象,比较的是对象的id
进行值的比较时遵照ASCII表
(字母的ASCII值大于数字)
比较字符串值大小时,按照索引(index)顺序比较
逻辑运算符
not 逻辑非
- not可以对符号右侧的值进行非运算。对于布尔值,非运算会对其进行取反操作,True变False,False变True
- 0、空串、None、list[] 还有一些表示空性的值会转换为False,其余的都为True
and 逻辑与
- and可以对符号两侧的值进行与运算。 只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
- 与运算是找False的,如果第一个值为False,则不再看第二个值
or 逻辑或
- 或运算两个值中只要有一个True,就会返回True
- 或运算规则是找True, 如果第一个值是True,则不看第二个值,直接返回第一个值,否则返回第二个值
非布尔值的或运算:找True
条件运算符(三元运算符)
语法: 语句1 if 条件表达式 else 语句2
运算符的优先级
以or和and优先级比较为例: