python的运算符
运算符
1.1 运算符的概念
- 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”
2 + 3
0 + 2
3 + 0
1.2 运算符的分类
- 算术运算符
- 赋值运算符
- 比较运算符(关系运算符)
- 逻辑运算符
- 条件运算符(三元运算符)
2.算术运算符
- 加法 运算符,表现形式+
1 + 1
- 减法 运算符,表现形式 -
1 - 1
- 乘法 运算符,表现形式 *
1 * 1
- 除法 运算符,表现形式 /
1 / 1
- 整除,只会保留计算后的整数位,会返回一个整型,表现形式 //
1 // 1
- 取模 ,求两个数相除的余数,表现形式 %
1 % 1
- 幂运算,求一个值的几次幂,表现形式 **
1 ** 1
3.赋值运算符
赋值运算符的特殊写法 x = x + 3 其实是和 x += 3 是一样的。
+= (x+= 3 相当于x = x + 3 )
- x += 3
-= (x -= 3 相当于 x = x - 3 )
- x -= 3
*= (x *= 3 相当于 x = x * 3 )
- x *= 3
**= (**x = 3 相当于 **x = x 3 )
- x **= 3
/= (x /= 3相当于 x = x/ 3 )
- x /= 3
//= (x //= 3 相当于 x = x // 3 )
- x //= 3
%= (x %= 3 相当于 x= x % 3 )
- x %= 3
4.比较运算符
- 比较运算符用来比较两个值之间的关系,总会返回一个布尔值.如果关系成立,返回True,否则返回False
1 > 0 #结果返回True 1 < 0 #结果返回False
- > 比较左侧值 是否大于右侧值
1 > 0 10 > 9 200 > 100
- >= 比较左侧的值是否大于或等于右侧的值
5 >= 2 10 >= 9 101 >= 100
- < 比较左侧值是否小于右侧值
1 < 2 8 < 9 99 < 100
- <= 比较左侧的值是否小于或等于右侧的值
19 <= 20 100 <= 109 11 <= 15
- 特殊的比较方式
- == 比较两个对象的值是否相等
- != 比较两个对象的值是否不相等
- is 比较两个对象是否是同一个对象,比较的是对象的id
- is not 比较两个对象是否不是同一个对象,比较的是对象的id
5.逻辑运算符
not
and
or
5.1 not 逻辑非
- not可以对符号右侧的值进行非运算对于布尔值,非运算会对其进行取反操作,True变False,False变True
5.2 and 逻辑与
- and可以对符号两侧的值进行与运算。 只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
1 and 0 #结果返回False 1 and 2 #结果返回True
- 与运算是找False的,如果第一个值为False,则不再看第二个值
0 and None #结果返回0
5.3 or 逻辑或
或运算两个值中只要有一个True,就会返回True
1 or 0 # 返回True None or 0 # 返回False
- 或运算是找True的
5.4 非布尔值的与或运算
- 当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值
- 非布尔值与运算的规则
1. 与运算是找False的,如果第一个值是False,则不看第二个值。
2. 如果第一个值是False,则直接返回第一个值,否则返回第二个值
- 非布尔值或运算的规则
1. 或运算是找True的,如果第一个值是True,则不看第二个值。
2. 如果第一个值是True,则直接返回第一个值,否则返回第二个值
6.条件运算符(三元运算符)
条件运算符在执行时, 会先对条件表达式进行求值判断
如果判断结果为True,则执行语句1,并返回执行结果
如果判断结果为False,则执行语句2, 并返回执行结果
语法: 语句1 if 条件表达式 else 语句2
7.运算符的优先级
- 下表从高到低列出了运算符的优先级。同一行中的运算符具有相同优先级,然后运算符的优先级是运算表达式从左到右
- 优先级关系为:( ) > not > and > or