一、数学运算符
如:+(加)、-(减)、*(乘)、/(除)、%(取模、取余)、//(整除)、**(幂运算)
+(加)、-(减)、*(乘)、/(除)
+、-、*、/ 和数学中的+、-、x、÷功能一摸一样,没有区别
注:/ 的结果是浮点数
% - 取模、取余(求余数)
-
应用一:
- 判断整数的奇偶性(根据整数对2取余的结果是否是0来判断这个数是否是偶数) 应用二:
- 取整数的低位数
//(整除)
-
应用:
- 取整数的高级位数
** (幂运算)
例:x ** y - 求x的y次方
二、比较运算符
如:>、<、==、>=、<=、!=
注:所有的比较运算符的结果都是布尔值
注:python中的比较运算符支持表示范围的连写方式,只在python中
例:
age = 80
print(10 <= age <= 28)
运行结果:
False
三、逻辑运算符
如:and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)
注:实际开发过程中,逻辑运算符的运算对象一般都是布尔值,结果也是布尔
and(逻辑与运算)
运算规则: 全部都是True结果才是True,只要有一个是False结果就是False
应用: 如果希望多个条件同时满足,那么就使用and将条件进行连接。相当于生活中的并且
or(逻辑或运算)
运算规则: 只要有一个是True结果就是True,全部都是False结果才是False
应用: 多个条件中只要有一个满足就行,那么就是 or 将多个条件进行连接;相当与生活中的或者
not(逻辑非运算)
注:单目运算符
运算规则: True变False,False变True
逻辑运算符的运算对象不是布尔
表达式1 and 表达式2: 如果表达式1的布尔值是True,那么整个运算的结果就是表达式2的值;如果是False,整个运算结果是表达式1的值
表达式1 or 表达式2: 如果表达式1的布尔值是True,那么整个运算的结果就是表达式1的值;如果是False,整个运算结果是表达式2的值
举例:
print(7 and 8)
print(7 or 8)
运行结果:
8
7
数据的布尔值怎么确定:
所有为零为空的数据的布尔值是False(数学的0、0.0、0.00、‘’、[]、{}、()、None), 其他所有的数据的布尔值全部都是True
举例:
print(not 7)
print(not 0)
运行结果:
False
True
短路操作
表达式1 and 表达式2: 如果表达式1的结果是False,程序不会去执行表达式2
表达式1 or 表达式2: 如果表达式2的结果是True, 程序不会去执行表达式2
检验短路:
False and name >= 10
True or name < 10
此处无报错
四、赋值运算符
如:=、+=、-=、*=、/=、//=、**=、%=、:=
注:所有的赋值运算符最终的目的都是为了给变量赋值,所有赋值运算符的左边必须是变量
10 = 20 这是不行的 变量名不能以数字开头
=
变量 = 数据 - 将右边的数据赋给左边的变量
复合的赋值运算符
变量 += 数据 - 将变量中的数据取出来和指定的数据相加求和,然后将这个和重新赋值给变量;变量= 变量 + 数据
注:复合的赋值运算符的左边的变量必须是已经赋值过的变量
五、运算符的优先级
- 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
- ** > *、/、%、// > +、-
- 有括号先算括号里面
- and的优先级比or高