运算符
- 算术运算符:
- 标准算术运算符:加(+),减(-),乘(*),除(/),整除(//)
- 取余运算符:%
- 幂运算符:**
- 代码:
-
print(1+1) #加法运算 print(3-2) #减法运算 print(1*3) #乘法运算 print(4/2) #除法运算 print(10//3) #整除运算 print(7%4) #取余运算 print(10**3) #幂运算
运行结果:
- 运算符表
- 赋值运算符
- =:
- 执行顺序:右->左
- 支持链式赋值:a=b=c=20
- 支持参数赋值:+=,-=,*=,/=,//=,%=
- 支持系列解包赋值:a,b,c=20,30,40
- 代码:
-
e=3+4 print(e) print('---链式赋值---') a=b=c=20 #链式赋值 print(a,id(a)) print(b,id(b)) print(c,id(c)) print('----参数赋值----') a=20 a+=30 #a=a+30 print(a) a-=15 #a=a-15,现在a的值为50 print(a) a*=2 #a=a*2 print(a) a/=2 #a=a/2 print(a) a//=2 print(a) a%=3 print(a) print('----解包赋值-----') a,b,c=10,20,30 #左右变量的个数和值的个数要一直,要不然会报错 print(a,b,c)
运行结果:
- 比较运算符
- 对变量或表达式的结果进行大小,真假等比较
- 比较运算符:
- >,<,>=,<=,!=
- ==:对象value的比较
- is,is not:对象的id的比较
-
print('---比较运算符,比较运算符的结果为bool类型---') 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) #true print('a==b吗',a==b) #false a=10 b=10 print(a==b) #true ,说明a和b的value相等 print(a is b) #true,说明a和b的id标识,相等 a1=[11,22,33,44] a2=[11,22,33,44] print(a1==a2) #true print(a1!=a2) #false,说明此a1和a2的id不相等 print(a is not b) #false print(a1 is not a2) #true
运行结果:
- 布尔运算符
- 布尔运算符:
- and
- or
- not
- in
- not in
- 代码:
-
print('---布尔运算符---') a,b=1,2 print('----and 并且-------') print(a==1 and b==2) #true true and true-->true print(a==1 and b<2) #false true and false-->false print(a!=1 and b==2) #false false and true-->false print(a!=1 and a!=2) #false false and false-->false print('----or 或者-----') print(a==1 or b==2) #true or true --->true print(a==1 or b<2) #true or false --->true print(a!=1 or b==2) #false or true --->true print(a!=1 or b!=2) #false or false --->false print('---not 对bool类型操作数取反----') f=True f1=False print(not f) #false print(not f1) #true print('------in,not in---------') f='helloword' print('h'in f) #true print('q'in f) #false print('h'not in f) #false print('p'not in f) #true
运行结果:
- 布尔运算符:
- 位运算符
- 位运算符:将数据转成二进制进行计算
- 位运算符:
- 位与&:对应数位都是1,结果数位才是1,否则为0
- 位或|:对应数位都是0,结果数位才是0,否则为1
- 左移位运算符<<:高位溢出舍弃,低位补0
- 右移位运算符>>:低位溢出舍弃,高位补0
- 代码:
-
print('---位运算符---') print(4&8) #按位与&,同为1时结果才为1 print(4|8) #按位或|,用为0时结果才为0 print(4<<1) #向左移动1位(移动一个位置),相当于乘以2 print(4<<2) #向左移动2位(移动二个位置),相当于乘以4 print(4>>1) #向右移动1位(移动一个位置),相当于除以2 print(4>>2) #向右移动2位(移动2个位置),相当于除以4
运行结果:
- 运算符的优先级
- (),先算括号中的
- 1,算术运算符,先算乘除后算加减
- 2,位运算符
- 3,比较运算符
- 4,布尔运算符
- 5,赋值运算符
- 注意:有括号先算括号中的