'''常用运算符 算术运算符 标准算术运算符:加(+) 减(-) 乘(*) 除(/) 整除(//) 取余运算符:% 幂运算符:** 赋值运算符 比较运算符 布尔运算符 位运算符''' print('----算术运算符----') print(1+1) #加法运算 print(1-1) #减法运算 print(2*4) #乘法运算 print(1/2) #除法运算 print(11//2) #5 整除运算 print(11%2) #取余运算 print(2**3) #幂运算符 print(9//2) #2 print(-9//-2) #2 print(-9//2) #-5 一正一负的整数公式,向下取整 print(9//-2) #-5 print(9%-2) #-1 公式:余数=被除数-除数*商 print(-9%2) #1 #赋值运算符,运算顺序从右到左 支持链式赋值:a=b=c=20 支持参数赋值:+= -= *= /= //= %= 支持系列解包赋值:a,b,c=20,30,40 print('----赋值运算符----') i=3+4 print(i) 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-=10 #相当于a=a-10 print(a) a*=2 #相当于a=a*2 print(a) #int print(type(a)) a/=3 print(a) print(type(a)) #float a//=2 print(a) print(type(a)) a%=3 print(a) print(type(a)) print('----解包赋值----') a,b,c=20,30,40 print(a,b,c) #a,b=20,30,40 报错,因为左右变量的个数不对应 print('----交换两个变量的值----') a,b=10,20 print('交换之前:',a,b) a,b=b,a print('交换之后:',a,b) print('----比较运算符----') #比较运算符,比较运算符的结果为bool类型 a,b=10,20 print('a>b吗?',a>b) #False print('a=b吗?',a>=b) #False print('a==b吗?',a==b) #False print('a!=b吗?',a!=b) #True '''一个 = 称为赋值运算符, ==称为比较运算符 一个标量由三部分组成,标识,类型,值 ==比较的是值 比较对象的标识使用 is''' a=10 b=10 print(a==b) #True 说明a与b的value值相等 print(a is b) #True 说明a与b的id标识相等 print(a,id(a),b,id(b)) print('----布尔运算符----') print('----and并且----') a,b=1,2 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 b!=2) #False False and False-->False print('----or或者----') print(a==1 or b==2) #True True or True-->True print(a==1 or b<2) #False True or False-->True print(a!=1 or b==2) #False False or True-->True print(a!=1 or b!=2) #False False or False-->False print('----not对bool类型操作数取反----') s1=True s2=False print(not s1) print(not s2) print('----in和not in----') s='hello,world' print('w' in s) print('l' not in s) '''位运算符 将数据转化成二进制进行计算 位与& 对应数位都是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位(移动两个位置)相当于除4 '''运算符的优先级 ()-->算数运算符-->位运算符-->比较运算符-->布尔运算符-->赋值运算符'''