一、Python中常用的运算符
Python中常用的运算符有:算术运算符(标准算术运算符、取余运算符、幂运算法)、赋值运算符、比较运算符、布尔运算符、位运算符
二、运算符的使用
- 算术运算符
1、标准运算符:加、减、乘、除
2、取余运算符:%
3、幂运算符:**
print(1+1)
print(1-1)
print(2*4)
print(1/2)
print(11/2)#除法运算
print(11//2)#整除运算,取整舍余
print(11%2)#取余运算
注意:
(1)整除运算(//)一正一负,向下取整
(2)取余运算(%)一正一负,公式:余数=被除数-除数*商,例如(9%-4 (9-(-4) *(-3)=9-12=-3 此时的商为-3(一正一负,向下取整所以是-3)
print(9//4)
print(-9//-4)
print(-9//4)
print(9//-4)
print(9%-4)
print(-9%4) #-9-4*-3=-9-(-12)=-9+12=3
- 赋值运算符
1、执行顺序:从右→左
2、支持链式赋值:a=b=c
3、支持参数赋值:+=、-=、*=、/=、//=、%=
4、支持系列解包赋值:a,b,c=20,30,40
#赋值运算符
#执行顺序:从右→左
i=3+4
print(i)
a=b=c=20#链式赋值
print(a,id(a))
print(b,id(b))
print(c,id(c))
print('---------------支持参数赋值---------------------')
a+=30 #相当于a=a+30
print(a)
a-=10#相当于a=a-10
print(a)
a*=2#相当于a=a*2
print(a,type(a))
a/=3
print(a,type(a))
a//=2
print(a,type(a))
a%=3
print(a,type(a))
print('--------------------系列解包赋值----------------')
a,b,c=20,30,40
print(a,b,c)
print('-------------------交换两个数的值----------------')
a,b=10,20
print('交换之前a:',a,',','b:',b)
a,b=b,a
print('交换之后a:',a,',','b:',b)
- 比较运算符
比较运算符是对变量或表达式的结果进行大小、真假等比较
1、>、<、>=、<=、!=
2、==:比较对象的value
3、is、is not:比较对象的id
#比较运算符,比较的结果为bool类型
a,b=10,20
print('a>b吗?',a>b) #False
print('a<b吗?',a<b) #True
print('a<=b吗?',a<=b)
print('a>=b吗?',a>=b)
print('a==b吗?',a==b)
print('a!=b吗?',a!=b)
'''
一个=是赋值
两个==是比较,比较的是变量的值,一个变量由三部分组成:标识、值、类型
比较 is的使用'''
a=10
b=10
print(a==b)#值相同
print(a is b)#标识相同
list1=[11,22,33,44]
list2=[11,22,33,44]
print(list1 is list2)#--->False id
print(list1==list2)#---->True value
print(id(list1),id(list2))
print(a is not b)
print(list1 is not list2)
- 布尔运算
布尔运算为对于布尔值之间的运算:and、or、not、in、not in
1、and:同真则真,一假则假
2、or:同假则假,一真则真
3、not:取反
3、in、not in:查看字符是否在字符串里(例如’w’ in 'world’结果为True、‘w’ not in 'world’结果为False)
a,b=1,2
print('-----------and-------------------')
print(a==1 and b==2)
print(a==1 and b<2)
print('-----------or-------------------')
print(a==1 or b!=2)
print(a!=1 or b!=2)
print('-----------not-------------------')
f1=True
f2=False
print(f1,f2)
print(not f1,not f2)
print('-----------in或者not in-------------------')
s='helloworld'
print('w'in s)
print('w' not in s)
print('k' in s)
print('k' not in s)
- 位运算符
位运算符将数据转成二进制进行计算
1、&:对应数字上为1,结果才为1,否则为0
2、|:对应数字都为0,结果才为0,否则为1
3、左移位运算符<<:高位溢出舍弃,低位补0
4、右移位运算符>>:低位溢出舍弃,高位补0
print(4&8)#同为1是则为1
print(4|8)#同为0则为0
print(4<<1)#左移乘以2
print(4>>1)#右移除以2
- 三、运算符的优先级
幂运算(**)
乘(*)除(/)除法取整(//)、除法取余(%)
加(+)、减(-)
左移(<<)、右移(>>)
按位与(&)
按位或(|)
大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、恒等(==)、不等(!=)
与(and)
或(or)
等于(=)
从上往下优先级依次减小,及算数运算符的优先级、高于位运算、高于比较运算符、高于布尔运算