#1、算术运算符
a,b=4,2
print(a+b) #加 6
print(a-b) #减 2
print(a*b) #乘 8
print(a/b) #除 2.0
print(a%b) #取模 0
print(a**b) #幂 16
print(a//b) #整除 2
b=3
print(a//b) #整除 向下取整1 4/3=1.33333=1
b=2.65
print(a//b) #整除 向下取整4/2.65=1.50943=1.0
#2、比较运算符
a,b=4,2
print(a==b) #等于 False
print(a!=b) #不等于 True
print(a>b) #大于 True
print(a<b) #小于 False
print(a>=b) #大于等于 False
print(a<=b) #小于等于 False
#3、赋值运算符
a=1 #简单赋值
print(a)
a,b=1,2 #多个变量赋值
print(a)
print(b)
a+=1
print(a) #加法赋值 自增 a=a+1 <==> a+=1 1+1=2
a-=1
print(a) #减法赋值 自减 2-1=1
a*=1
print(a) #乘法赋值 2*1=2
a/=1
print(a) #除法赋值 2/1=2
a%=1
print(a) #取模赋值 2/1=2 余数为0.0
a=2
a**=1
print(a) #幂赋值 2^1=2
a=2
a//=1
print(a) #整除赋值 2/1=2
#4、逻辑运算符 and or not
a,b=1,2
print(a==1 and b==2) #True
print(a==1 or b==2) #True
print(not a==1) #False
#5、成员运算符 in 、not in 右边是序列
a=[1,2,3]
b=1
print(b in a) #True
print(b not in a) #False
#6、身份运算符 is 、is not
a=[1,2,3]
b=[1,2,3]
print(a is b) #False 内存地址不一致
print(id(a))
print(id(b))
print(a is not b) #True
print(a==b) #True
7、is与==区别:is会判断内存地址相同 id(a)
#可变数据结构,内存地址不同
#不可变数据结构,内存地址相同
8、 运算符优先级
高到低口决:算位比 身成逻
【算术(±*/)、位(二进制)、比较(== > <)、身份(is /is not)、成员(in/not in)、逻辑(非与或)】
优先级:当多个运算符同时出现在一个表达式中时,先执行哪个运算符。
结合性:默认左,当一个表达式中出现多个优先级相同的运算符时,先执行哪个运算符:先执行左边的叫左结合性,先执行右边的叫右结合性