Python---运算符(算术运算符、赋值运算符、比较运算符(关系运算符)、逻辑运算符、条件运算符(三元运算符))
一、运算符
1.1 运算符的概念
- 运算符用于执行程序代码运算,会针对一个以上操作数项目进行运算。
如:2+3,操作数是2和3,运算符是“+”
1.2 运算符的分类
- 算术运算符
- 赋值运算符
- 比较运算符(关系运算符)
- 逻辑运算符
- 条件运算符(三元运算符)
二、算术运算符
2.1 加法运算符 表现形式 +
- 数值、字符串均可使用加法运算
2.2 减法运算符 表现形式 -
- 只有数值能使用减法运算,字符串不可以
2.3 乘法运算符 表现形式 *
- 数值间可以使用乘法运算,数值和字符串也可以
2.4 除法运算符 表现形式 /
- 除法运算符 / ,返回值总是一个浮点数即小数类型
- // 为整除,只会保留计算后的整数位,总会返回⼀个整型
- % 为取余(模),求两个数相除的余数
2.5 ** 幂运算,求一个值的几次幂
三、赋值运算符
- 赋值运算符的特殊写法 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 )
四、比较运算符
- 比较运算符用来比较两个值之间的关系,总会返回一个布尔值。如果关系成立,返回True,否则返回False
- 比较左侧值是否大于右侧值,用 >
- 比较左侧的值是否大于或等于右侧的值,用 >=
- 比较左侧值是否小于右侧值,用 <
- 比较左侧的值是否小于或等于右侧的值,用 <=
- 上述四种比较均为对位比较:如果出现多个字符进行比较,先比较第一位,如果不相等得出比较结果则比较停止,如果第一位相等则需要比较第二位,依次进行下去
- 特殊的比较方式
。 == 比较两个对象的值是否相等
。 != 比较两个对象的值是否不相等
。 is 比较两个对象是否是同一个对象,比较的是对象的id
。 is not 比较两个对象是否不是同一个对象,比较的是对象的id
五、逻辑运算符
5.1 逻辑非 not
- not 对符号右侧的值进行非运算,先将右侧的值化为对应的布尔值,非运算会对转化后的布尔值进行取反操作,True变False,False变True
- 0、None、空串、空列表等其他表示空性的值转化为布尔值都为False,其余的都是True
5.2 逻辑与 and
- and对符号两侧的值进行与运算。 只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
- 与运算是找False的,如果第一个值为False,则不再看第二个值
5.3 逻辑或 or
- 或运算:只有在符号两侧的值都为False时,才会返回False,两个值中只要有一个True,就会返回True
- 或运算是找True的,如果第一个值为True,则不再看第二个值
5.4 非布尔值的与或运算
- 当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值
- 非布尔值与运算的规则
- 与运算是找False的,如果第一个值是False,则不看第二个值。如果第一个值是False,则直接返回第一个值,否则返回第二个值
- 非布尔值或运算的规则
- 或运算是找True的,如果第一个值是True,则不看第二个值。如果第一个值是True,则直接返回第一个值,否则返回第二个值
六、条件运算符(三元运算符)
条件运算符在执行时,会先对条件表达式进行求值判断
如果判断结果为True,则执行语句1,并返回执行结果
如果判断结果为False,则执行语句2,并返回执行结果
语法: 语句1 if 条件表达式 else 语句2
七、运算符的优先级
来源于:https://docs.python.org/3/reference/expressions.html#lambda