一、运算符的优先级
运算符的优先级决定着运算的执行逻辑和得到的结果
'''
算术运算>位运算>比较运算>布尔运算>赋值运算
运算符的优先级 从上到下优先级由高到低
**
* / // %
+ -
<< >>
&
|
> < >= <= != ==
and
or
=
'''
二、算术运算符
# 算术运算符
print(1+1) # 加法运算
print(1-1) # 减法运算
print(2*2) # 乘法运算
print(1/2) # 除法运算
print(10//3) # 取整 可以整除的个数
print(10%3) # 取余 得余数
print(2**3) # 2的三次方
# 取余的时候 一正一负需要用公式 余数=被除数-除数*商
print(-9%4)
print(9%-4)
# 取整的时候出现一正一负 向下取整
print(-9//4)
print(9//-4)
三、赋值运算符
# 赋值运算符
a=3+4 #从右到左运算
b=c=d=10 #链式赋值
# 参数赋值
a+=1 # a=a+1
a-=1 # a=a-1
a/=1 # a=a/1
a*=2 # a=a*2
a//=1 # a=a//1
a%=1 # a=a%1
a1,a2,a3=1,2,3 # 系列解包赋值
# 利用系列解包赋值实现俩个变量值的交换
x=2
y=3
x,y=y,x
四、比较运算符
# 比较运算符
# >,<,>=,<=,!= 返回结果为布尔类型 true or false
a=3
b=2
print("{}大于{}嘛?".format(a,b),a>b)
# 对value值的比较
a=1
b=2
print(a==b)
# 对id值的比较
a=b
print(a is b)
print(a is not b)
五、布尔运算符
# 布尔运算符 and、or、not、in、not in
# and 且运算 只有两边是true结果为true
print(True and False)
print(True and True)
# or 或运算 只有两边是false结果为false
print(True or False)
print(True or True)
# ont 非运算 true变false false变true
print(not True)
print(not False)
# in、not in判断是否存在
name="hello world"
print("a" in name)
print("h" in name)
print("a" not in name)
print("h" not in name)
六、位运算符
# 位运算符 将数据转换为二进制进行运算
# & 位与 转换为二进制后 11得1 有0得0
print(4&8)
# | 位或 转换为二进制后 00得0 有1得1
print(4|8)
# <<左移位运算符 高位溢出舍弃 低位补0
print(1024<<2)
# >>右移位运算符 低位溢出舍弃 高位补0
print(1>>2)