- 算数运算符
1.加 减 乘 取余 与 c 一样
2.除 / 和 //(整除)
print(1/2) #0.5
print(1//2) #0
3.幂(**)
print(2**3) #2^3=8
- 赋值运算符
1.支持链式赋值
a=b=c=20
print(a,id(a))
print(b,id(b))
print(c,id(c))
# a,b,c的值都是20,且它们的地址相同
# 这说明a,b,c指向了同一个内存空间
# 即使是 a,b,c单独赋值,它们的id也是相同的
2.系列解包赋值
a,b,c=20,40,50
#交换数据,不需要中间变量
a,b=20,40
#输出为 20,40
a,b=b,a
#输出为 40,20
———————————————————————————————————————————
注意与c的区别,在c中同时给a,b赋值20,则会开辟两个内存空间,a,b分别指向该内存
修改值后,该内存的值被修改,地址不变
在python中,同时给a,b赋值20,只有一个内存空间,a,b同时指向它,当修改值后,开辟新的内存空间并指向它
如下图
——————————————————————————————————————————
- 比较运算符
符号和c一样,返回结果是bool类型
== 比较的是值 is (is not) 比较的是id
a=10
b=10
print(a==b) #True
print(a is b) #True
print(a is not b) #False
- bool运算符
1. and, or, not(与c的 &&, ||, !类似)
a=1,b=2
print(a==1 and b==1)
print(a==1 or b==1)
c=True
print(not c)
2 in, not in
s='hello,world'
print('h' in s) #True
print('e' not in s) #False
- 位运算符
1. & 和 | (按位与和按位或)
2.<<左移 >>右移(空出的位补0)
a=4 #00000100 4
print(a>>2) #00000001 1
print(a<<1) #00001000 8
- 运算符优先级
算数运算 > 位运算 > 比较运算 > bool运算 > 赋值运算