算数运算符
+ 加、-减、*乘、/除、//整除、%取余
a, b = 5, 2
print("加:", a+b) # 7
print("减:", a-b) # 3
print("乘:", a*b) # 10
print("除:", a/b) # 2.5
print("取整:", a//b) # 2
print("求余:", a % b) # 1
print(-9//4) # -3 一正一负的整数公式,向下取整
print(-9 % 4) # 3 -9(4*-3)
赋值运算符:
1、运算顺序从右到左
2、支持链式赋值 a=b=c=20(id会指向同一个地址)
3、支持参数赋值 +=、-=、*=、/=、//=、%=
4、支持系列解包赋值 a,b,c = 20,30,40
# 参数赋值
a = 1
a += 1
print(a) # 2
# 解包赋值
a, b = 10, 20
print("交换前:", a, b) # 10, 20
a, b = b, a
print("交换后:", a, b) # 20, 10
比较运算符:
>大于、<小于、>=大于等于、<=小于等于
== :比较的是值
is :比较的是对象标识
is not :表示的是不相等
a, b = 10, 20
print("a>b吗?", a > b) # False
print("a<b吗?", a < b) # True
print("a<=b吗?", a <= b) # True
print("a>=b吗?", a >= b) # False
print("a==b吗?", a == b) # Flase
print("a!=b吗?", a != b) # True
a = 10
b = 10
print("比较两个值:", a == b) # True
print("比较对象的标识:", a is b) # True
a1 = [1, 2, 3, 4, 5]
a2 = [1, 2, 3, 4, 5]
print("比较两个的值:", a1 == a2) # True
print("比较两个id地址:", a1 is a2) # False
print(id(a1))
print(id(a2))
布尔运算值
and:与 两个结果都为True否则为False
or: 或 只要有一个为True就为True
not :对bool类型的操作数取反
in: 在什么什么里面
not in: 不在什么什么里面
a = True
b = False
c = "hello"
print(a and b) # False
print(a or b) # True
print("h" in c) # True
print("a" in c) # False
位运算符
位于&:对应数都是1,结果才为1,否则为0(都为1才为1,否则为0)
位于|:对应数都是0,结果才为0,否则为1(只要一个为1则为1,否则为0)
左移位运算符<<: 高位溢出舍弃,低位补0(左位移相当于*2)
右位移运算符>>: 低位移除舍弃,高位补0(右位移相当于/2)
print(4 & 8) # 0
print(4 | 8) # 12
print(4 << 1) # 8
print(4 >> 1) # 2
运算符的优先级:
()> 算数运算符 > 位运算符 > 比较运算符 > 布尔运算符 > 赋值运算符