文章目录
python支持的运算符
数学运算符、比较运算符、逻辑运算符、赋值运算符、*位运算
一、数学运算符
+(加)
-(减)
*(乘)
/(除)
//(整除,取整数部分)
$(取模,取余数部分)
**(幂运算)
1.1 +、-、*、/
和数学中的+、-、×、÷ 功能和用法一摸一样
print(1+1)
print(1-1)
print(1*2)
print(1/2)
result = 2*3 # 运算结果可以保存在变量中
print(result)
num = 10
print(num / 2) # 运算对象不一定非得是数据,还可以是变量
2
0
2
0.5
6
5.0
注意:/(除法运算)的运算结果是浮点型
1.2 python // 求商,保留整数部分,取小
print(5/2)
print(5//2) # 商为正,得到小数点前面的整数部分
print(-5/2)
print(-5//2) # 商为负,往负方向取整
2.5
2
-2.5
-3
应用:取高位数
num = 678
print(num//100) # 取百位
print(num//10) # 去掉个位
6
67
1.3 python % 取余,求余数,取模
print(5 % 2)
print(13 % 5)
1
3
应用1:判断一个数是否能被另一个数整除
print(7 % 3) # 余数不是0,所以7不能被3整除
print(9 % 3) # 余数是0,可以整除
1
0
应用2:判断一个数的奇偶
对2取余为0是偶数,对2取余得1是奇数
应用3:取低位数
print(456 % 10)
print(456 % 100)
6
56
1.4 ** python幂运算
x ** y 求x的y次方
print(2**3) # 2的3次方
print(16**0.5) # 开方
print(8**(1/3)) # 8开3次方
8
4.0
2.0
二、比较运算符
>(大于)
<(小于)
==(等于)
!=(不等于)
>=(大于等于)
<=(小于等于)
注意:比较运算符的运算结果为bool布尔值True和False
print(10 > 20)
print(10 == 20)
print(10 != 20)
print(10 <= 20)
False
False
True
True
注意:python支持表示范围的连写方式
num = 10
print(0 < num < 20) # (0, 20)
print(10 <= num <20) # [10, 20)
True
True
三、逻辑运算
and(逻辑与)
or(逻辑或)
not(逻辑非)
注意:从应用的角度来讲,所有的逻辑运算符的运算结果都是bool布尔值
3.1 and 逻辑与运算
运算规则:条件1 and 条件2 都成立的结果就是True,只要一个不成立就是False
应用:相当于生活中的并且;用于需要多个条件同时满足的情况
判断:
num = 101
print('是否能同时被3和7整除:', num % 3 == 0 and num % 7 == 0)
是否能同时被3和7整除: False
3.2 or 逻辑或运算
运算规则:条件1 or 条件2 如果有一个是True,结果就是True,两个都是False,结果才是False
True or True -> True
True or False -> True
False or True -> True
False or False -> False
应用:用于需要多个条件中有一个条件满足的场景
判断:
num = 15
print('是否能被2或者5整除:', num % 2 == 0 or num % 5 == 0)
year = 2012
print('指定年份是否为闰年:', year % 400 == 0 or (year % 4 == 0 and year % 100 != 0))
是否能被2或者5整除: True
指定年份是否为闰年: True
3.3 not 逻辑非运算
运算规则:not 条件,单目运算符;对指定条件进行否定
not True -> False
not False -> True
应用:对一个条件进行否定
判断:
num = 20
print('一个数不能同时被3和7整除:', not num % 21 == 0)
一个数不能同时被3和7整除: True
四、赋值运算符
4.1 =、+=、-=、*=、**=、/=、//=、%=
注意:
- 所有的赋值运算符最终的目的是给变量赋值
- 赋值符号左边必须是变量,右边可以是任何有结果的表达式(除了赋值语句之外的任何数据)
- 复合赋值运算符的左边必须是已经赋值过的变量
a = 0
print(a)
a += 1
print(a)
a -= 2
print(a)
a *= 3
print(a)
a **= 4
print(a)
a /= 5
print(a)
a //= 6
print(a)
a %= 7
print(a)
0
1
-1
-3
81
16.2
2.0
2.0
4.2运算符的优先级
- 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
- 数学运算符中:** > *、/、%、// > +、-
- 有括号先算括号里面的(这里的括号是小括号)
year = 2021
leap_year = year % 400 == 0 or (year % 4 == 0 and year % 100 != 0)
print(leap_year)
False
五、布尔参与数学运算的时候 True就是1,False就是0
print(True + 1)
print(False + 1)
2
1