一.算术运算符
print(11//2)
print(-9//-4) # 负负得正
print(9//-4) # 9/-4=2余0.2=2.2,要向下取整-2.2取-3
print(-9//4) # -9/4=2余0.2=2.2,要向下取整-2.2取-3
打印:
5
2
-3
-3
print(9%-4) #余数=被除数-除数*商 9-(-4)*(-3) -->9-12(负负得正(-4)*(-3)=12) -->-3
print(-9%4) # -9-(4)*(-3) -->-9+12(负负得正-9-(-12)=-9+12) -->3
#打印
-3
3
print(1+1) #加+
print(1-1) #减-
print(2*2) #乘*
print(11/2) #除/
print(11//2) #整除//
print(11%2) #取余运算
print(2**2) #表示2的2次方
#打印:
2
0
4
5.5
5
1
4
二.赋值运算符 :=
1.执行顺序:右-> 左
a = 10+20
print(a)
#打印:
30
2.支持链式赋值-> a=b=c=20
a=b=c=20
print(a,b,c)
print(a,id(a))
print(b,id(b))
print(c,id(c))
#打印
20 20 20
20 2574176551760
20 2574176551760
20 2574176551760
3.支持参数赋值-> +=,-=,*=,/=,//=,%=
a=20
a+=30 #相当于a = a+30
print(a)
#打印:
50
4.支持系列解包赋值-> a,b,c=20,30,40
a,b,c = 20,30,40 #左右变量个数要相等
print(a,b,c)
#打印:
20 30 40
三.比较运算符:返回True/False
1.>,<,>=,<=,!=
2.== :对象value的比较
3.is, is not :对象的ID比较
一.
a = 10
b = 10
print(a is b) #对ID进行比较
print(a is not b)
print(id(a))
print(id(b))
#打印:
True
False
1906283315728
1906283315728
二.
list1=[12,13,14,15]
list2=[12,13,14,15]
print(list1 == list2)
print(list1 is list2) #相同的数据,数组与数组之间的id也是不一样的
print(id(list1))
print(id(list2))
#打印:
True
False
1694829433600
1694833347008
四.布尔运算符:and,or,not,in, not in
a = 10
b = 10
print('---------------- and -----------------')
print(a==10 and b==10)
print(a==10 and b==1)
print('---------------- or -----------------')
print(a==10 or b==1)
print('---------------- not -----------------')
print(not a==10)
print(not a==1)
print('---------------- in -----------------')
c = 'hellword'
print('h' in c) #h 是否在 c中
print('---------------- not in -----------------')
print('h' not in c) #h 是否不在 c中
打印:
True
False
---------------- or -----------------
True
---------------- not -----------------
False
True
---------------- in -----------------
True
---------------- not in -----------------
False
Process finished with exit code 0
五.位运算符
与&,或|,左移位运算符<<,右移位运算符>>
1.&:对应的数位都是1,结果数位才是1,否则为0 (二进制计算后,在转换成结果)
print(5&5)
print(9&10)
打印:
5
0
2.|:对应的数位都是0,结果才是0,否则为1 (二进制计算后,在转换成结果)
print(1|6)
打印:
7
3.<<:高位溢出舍弃,低位补0
print(4<<1) #向左移动1位,相当于4*2
print(4<<2) #向左移动2位,相当于4*(2**2)
print(4<<3) #向左移动3位,相当于4*(2**3)
打印:
8
16
32
4.>>:低位溢出舍弃,高位补0
print(8>>1) #向右移动1位,相当于8/2
print(8>>2) #向右移动2位,相当于8/(2**2)
print(8>>3) #向右移动3位,相当于8/(2**3)
打印:
4
2
1