运算符
一、算术运算符
#标准运算发 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
浙公网安备 33010602011771号