# 加、减、乘、除、整除、取余、幂运算
print(1+1, 3-1, 2*2, 11/2, 11//2, 11%2, 2**3) # 2 2 4 5.5 5 1 8
print((9/-4)) # -2.25
print(-9/4) # -2.25
print(9//-4) # -3 一正一负向下取整
print(-9//4) # -3
print(9%-4) # -3 公式:余数=被除数-除数*商 商=9//-4 9-(-4)*(-3)= -3
print(-9%4) # 3 公式同上 -9-4*(-3)= 3
# 赋值运算符,运算顺序从右到左
a=b=c=3+4
print(a,b,c,id(a),id(b),id(c)) # 7 7 7 140726920681312 140726920681312 140726920681312
a+=1 # a=a+1
b*=2 # b=b*2
c/=3 # c=c/3
print(a,b,c) # 8 14 2.3333333333333335
# 解包赋值
d,e,f=1,2,3
print(d,e,f) # d=1,e=2,f=3
# 交换两个变量的值
d,e=e,d
print(d,e) # d=2,e=1
# 比较运算符
A=22
B=22
# == 比较的是两个数的值
# is 比较两个对象的标识
print(A==B) # True
print(A is B) # True
print(A is not B) # False
list1=[11,22,33,44]
list2=[11,22,33,44]
print(id(list1),id(list2)) # 2444404520768 2444404520512
print(list1==list2) # True
print(list1 is list2) # False
# 布尔运算 and、 or、 not、 in、 not in
x=1
y=2
print(x==1 and y==2) # True
print(x==1 or y==1) # True
f=False
print(not f) # True
s='helloworld'
print('w' in s) # True
# 位运算符 &、|、<<、>>
# &按位与:同为1时为1,有0为0
print(12 & 11) # 1100 & 1011 = 1000 = 8
# |按位或,同为0时结果为0
print(12 | 11) # 1100 | 1011 = 1111 = 15
# <<左移位,高位溢出舍弃,地位补0 相当于*2
print(12 << 1) # 01100->11000 = 24
# >>右移位,低位溢出舍弃,高位补0 相当于/2
print(12 >> 1) # 01100->00110 = 6
# 运算符的优先级
# 算数运算
# 1 **
# 2 *、/、//、%
# 3 +、-
# 位运算
# 4 <<、>>
# 5 &
# 6 |
# 比较运算
# 7 >、<、>=、<=、==、!=
# 布尔运算
# 8 and
# 9 or
# 赋值
# 10 =
Python之运算符
于 2022-09-05 17:02:57 首次发布