运算符
数学运算、比较运算、逻辑运算、赋值运算
一、数学运算
运算符:+ 、-、*、/(除法)、 %(取模/取余 - 返回除法中的余数) //(取整)、 **(幂)
-
+、-、、/ 、和数学中的 + 、-、、➗功能一样
-
//
(整除) - 求两个数的商,向小(下)取整print(5 // 2) # 2 print(3.8 // 2) #1.0 # 应用场景:去掉一个整数的低位数保留高位数 num = 6789 print(num // 10) # 678 print(num // 100) # 67 print(num // 1000) # 6
-
%
- 取余、取模,即x % y
- 求除以y的余数print(10 % 3) # 1 # 应用场景1:判断两个整数之间是否存在整除关系(判断一个数是否能被另一个数整除) num1 = 78 num2 = 3 print(num1 % num2) # 0 # 应用场景2:判断奇(偶)数 print(num1 % 2) # 0 - 偶数 print(num2 % 2) # 1 - 奇数 # 应用场景3:保留整数的低位数,去掉高位数 - 对10或者10的N次方进行取余 num3 = 4354 print(num3 % 10) # 4 print(num3 % 100) # 54 print(num3 % 1000) # 354 # 练习:写代码获取num的十位数 num = 789 print(num // 10 % 10) # 8 print(num % 100 //10) # 8 # 练习:写代码获取num的百位数 num = 7895 print(num //100 % 10) # 8 print(num % 1000 // 100) # 8
-
**
(幂运算),即x**y
- 求x
的y
次方print(2 ** 4) # 16 print(2 ** -4) # 0.625 print(27 ** (1/3)) # 3.0
二、比较运算
运算符: > 、 < 、 >= 、 <= 、 ==(等于) !=(不等于)
-
所有比较运算符的返回值都是布尔值
print(10 > 5) # True print(10 == 10) # True print(10 != 10) # False # 判断是否是偶数 num = 34 print(num % 2 == 0) # True
-
Python
中的比较运算符支持连写表示范围age = 17 print(13 <= age <= 20) # True
赋值运算符和比较运算符同时出现在一个式子中,先算比较运算
三、逻辑运算符
运算符: and 、 or 、 not
-
and
- 逻辑与
运算:-
应用场景:用来连接需要同时成立的多个条件 - 并且
-
运算规则:条件1 and 条件2 and … - 若条件1和条件2和… 都成立即为
True
,但若条件1或者条件2不成立则为False
print(True and True) # True print(True and False) # False print(False and True) # False print(False and False) # False # 案例1:判断num是否能够同时被3和7整除 num = 42 # 能够同时被3和7整除 -> 能被3整除并且能被7整除 # 被3整除的条件: num % 3 == 0 # 被7整除的条件: num % 7 == 0 print('num是否能够同时被3和7整除:',num % 3 == 0 and num % 7 == 0) # 练习:写出num是否是大于30的偶数的条件 num = 34 print('num是否是大于30的偶数:',num > 30 and num % 2== 0)
-
-
or
- 逻辑或
运算-
应用场景:多个条件中至少有一个条件成立,即为 True - 或者
-
运算规则:条件1 or 条件2 or … - 至少有一个条件成立运算结果即为
True
,当所有条件都不成立时才为False
print(True or True) # True print(True or False) # True print(False or True) # True print(False or False) # False # 练习1:num是否能够被3或者7整除 num = 34 print('num是否能够被3或者7整除:',num % 3 == 0 or num % 7 == 0) # 练习2:year是否是闰年 # 闰年分为普通闰年和世纪闰年两种:能被4整除但是不能被100整除的年是普通闰年,能被400整除的年是世纪闰年。 year = 2008 print('year是否是闰年',(year % 400 ==0) or (year % 4 ==0 and year % 100 !=0))
-
-
not
- 逻辑非
运算-
应用场景:对一个条件进行否定 - 否定
-
运算规则: not条件 - 对指定条件进行否定(取反)
print(not True) # False print(not False) # True # age 不大于18 age = 18 print(not age > 18) # True print(age <= 18) # 判断num1是否不能同时被3和7整除 num1 = 45 # 能被3整除但是不能被7整除;能被7整除但是不能被3整除;既不能被3整除也不能被7整除 print((num1 % 3 == 0 and num % 7 != 0) or (num1 % 7 == 0 and num % 3 != 0) or (num1 % 3 != 0 and num % 7 != 0)) print(not(num1 % 3 == 0 and num % 7 == 0)) print(num % 21 != 0) # True
-
四、赋值运算符
运算符: = 、 += 、 -= 、 *= 、 /= 、 //= 、 %= 、 **=
-
=
- 变量=
数据 - 将数据直接保存到变量中a = 10
-
+=
- 变量+=
数据 - 将变量中已有的数据和后面的数据进行加法运算,最后将计算结果赋值给变量Ps:变量必须是已经被赋值的变量
a = 10 a += 10 # a = 20
-
-=
- 变量-=
数据 - 将变量中已有的数据和后面的数据进行减法运算,最后将计算结果赋值给变量a = 10 a -= 2 # a = 8
-
*=
- 变量*=
数据 - 将变量中已有的数据和后面的数据进行乘法运算,最后将计算结果赋值给变量a = 10 a *= 2 # a = 20
-
/=
- 变量/=
数据 - 将变量中已有的数据和后面的数据进行除法运算,最后将计算结果赋值给变量a = 10 a /= 2 # a = 5
-
//=
- 变量//=
数据 - 将变量中已有的数据和后面的数据进行取整运算,最后将计算结果赋值给变量a = 10 a //= 3 # a = 3
-
%=
- 变量%=
数据 - 将变量中已有的数据和后面的数据进行取模/取余运算,最后将计算结果赋值给变量a = 10 a %= 3 # a = 1
-
**=
- 变量**=
数据 - 将变量中已有的数据和后面的数据进行幂运算,最后将计算结果赋值给变量a = 10 a **= 4 # a = 10000
五、运算符优先级
- 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
**
>*
,/
,//
,%
>+
,-
and
>or
- 有括号先算括号里面的 -
()