目录
算数运算符
标准算数运算符
加(+)、减(-)、乘(*)、除(/)、整除(//) 整除不管正负向下取整
print(1+1) #加法运算
print(1-1) #减法运算
print(3*2) #乘法运算
print(3/2) #除法运算
print(3//2) #整除运算
print(3//-2)
运算结果
取余运算符
又叫取模运算符(%) 一正一负按公式计算: 余数 = 被除数 - 除数 *整除商
print(11%2) #取余运算
print(11%-2)
print(-11%2)
运算结果
幂运算符
(**)
print(2**3) #幂运算 2的3次方
运行结果
赋值运算符
执行顺序
- 自右向左
a=10
print(a)
运行结果
链式赋值
- 变量内存地址、类型、值都相同
a=b=c=10
print(a,id(a))
print(b,id(b))
print(c,id(c))
运行结果
参数赋值
- 自加(+=)、自减(-=)、自乘(*=)、自除(/=)、自整除(//=)、自取余(%=)
- 过程中变量的数据类型可能会发生改变
a=30
a+=10
print(a,type(a))
a-=10
print(a,type(a))
a*=2
print(a,type(a))
a/=3
print(a,type(a))
a//=3
print(a,type(a))
a%=3
print(a,type(a))
运行结果
系列解包赋值
- 同时完成多个变量的赋值
- 也可以用于交换多个变量的值,而不需要使用交换变量
a,b,c=10,20,30
print('交换之前:a,b,c=',a,b,c)
a,b,c=c,a,b
print('交换之后:a,b,c=',a,b,c)
运行结果
比较运算符
对变量或表达式的结果进行大小、真假等比较,返回值为True或False。
值(value)的比较
大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、不等于(!=)、等于(==)
a,b=10,20
print('a=',a)
print('b=',b)
print('a>b?',a>b)
print('a<b?',a<b)
print('a>=b?',a>=b)
print('a<=b?',a<=b)
print('a!=b?',a!=b)
print('a==b?',a==b)
运行结果
标识(id)的比较
是(is)、不是(is not)
a,b=10,10
print('a=',a,',id(a)=',id(a))
print('b=',b,',id(b)=',id(b))
print('id(a)==id(b)?',a is b)
print('id(a)!=id(b)?',a is not b)
list1,list2=[10,10],[10,10]
print('list1=',list1,',id(list1)=',id(list1))
print('list2=',list2,',id(list2)=',id(list2))
print('id(list1)==id(list2)?',list1 is list2)
print('id(list1)!=id(list2)?',list1 is not list2)
运行结果
布尔运算符
and
两个运算数都为True时,才返回True。
or
只要有一个运算数为True,就返回True。
not
对bool类型变量值取反。
in / not in
s='helloworld'
print('w' in s)
print('k' in s)
print('w' not in s)
print('k' not in s)
运行结果
位运算符
将数据转换成二进制进行计算,返回十进制值。
位与 &
对应数位都是1,结果数位才是1,否则为0
print('4的二进制表示:00000100')
print('8的二进制表示:00001000')
print('4&8的结果为: 00000000')
print('4&8=',4&8)
运行结果
位或 |
对应数位都是0,结果数位才是0,否则为1
print('4的二进制表示:00000100')
print('8的二进制表示:00001000')
print('4|8的结果为: 00001100')
print('4|8=',4|8)
运行结果
位移 << / >>
左移位<<:高位溢出舍弃,低位补0
右移位>>:低位溢出舍弃,高位补0
print('4的二进制表示:00000100')
print('4<<1的结果为:00001000')
print('4<<1=',4<<1)
print('4的二进制表示:00000100')
print('4>>2的结果为:00000001')
print('4>>2=',4>>2)
运行结果
运算符的优先级
优先级 | 运算符 | |
1 | 括号 | () |
2 | 算数运算符 | ① ** |
② *,/,//,% | ||
③ +,- | ||
3 | 位运算符 | ① <<,>> |
② & | ||
③ | | ||
4 | 比较运算符 | >,<,>=,<=,==,!= |
5 | 布尔运算符 | ① and |
② or | ||
6 | 赋值运算符 | = |
Flag:我要成为一个日更选手:)