运算符
一、算术运算符
#标准运算发 print(1+2) #加法运算 print(2-1) #减法运算 print(2*3) #乘法运算 print(1/2) #除法运算 print(11/2) print(11//2)#整除运算 #取余运算符 print(11%2) #取余运算7 #幂运算 print(2**4) 运算结果: 3 1 6 0.5 5.5 5 1 16
例外:
- %:取余运算时一正一负需要遵守公式——余数=被除数-除数*商
- 整数:一正一负向下取整
二、赋值运算
#赋值运算符:运算顺序从右到左 #链式赋值——由输出结果可以看到,以下三个变量都指向同一个内存块 a=b=c=20 print(a,id(a)) print(b,id(b)) print(c,id(c)) #支持系列解包赋值 #解包赋值左右俩边的个数需要相等 m,n=20,30 print(m,type(m)) print(n,type(n)) #解包赋值带来的好处——可以直接交换两个变量带来的值的变化 print('交换前') a,b=30,40 print(a,type(a)) print(b,type(b)) print('交换后') a,b=b,a print(a,type(a)) print(b,type(b)) 运算结果: 20 1767116860304 20 1767116860304 20 1767116860304 20 <class 'int'> 30 <class 'int'> 交换前 30 <class 'int'> 40 <class 'int'> 交换后 40 <class 'int'> 30 <class 'int'>
三、比较运算
# = 称为赋值运算符 # == 称为比较运算符,由于一个变量由标识,类型和值组成。== 比较的是变量的值 # is 用于比较对象的标识 a=10 b=10 print('a与b的值是否相等',a==b) print('a与b的标识是否相等',a is b) list1=[11,22,33,44] list2=[11,22,33,44] print(id(list1)) print(id(list2)) print(list1==list2) #比较的是值 print(list1 is list2) #比较的是id 运算结果: a与b的值是否相等 True a与b的标识是否相等 True 2847174183872 2847174181696 True False
四、布尔运算符
print('not——对bool类型操作数取反') f1=True print(f1) print(not f1) print('in------------not in') s='ashfvhbjdchj' print('w' in s) print('a' in s) print('w' not in s) print('a' not in s) 运算结果: not——对bool类型操作数取反 True False in------------not in False True True False
五、位运算符
#位运算符 print(4&8) #按位与 & 同时为1结果为1 print(4|8) #按位或 | 同时为0结果才为0 print(4<<1) #向左移动一位,相当于乘以2 print(4>>1) #向右移动一位,相当于除以2 运算结果: 0 12 8 2