参考视频:python初体验哔哩哔哩_bilibili
优先级:
先算术(有乘方先乘方,先乘除取余后加减)
再位运算(先左右移,再按位与,最后按位或)
接着比较(判断)> < == >= <=
在bool 先and 后or
赋值是最后
有()先()
目录
运算符
1.算术运算符
2.赋值运算符
3. 比较运算符
4.布尔运算符
5.位运算
1.算术运算符
print(1+2)
print(1-2)
print(2*3)
print(1/2)
print(11/2)#整除
print(11%2)#取余
print(2**3)#2的3次方
#特殊的整除和取余 一正一负
print(9//-4) #结果-3 向下取整
print(-9//4) #结果-3 向下取整
print(9%-4) #结果-3 公式法 9-(-3)*(-4)
print(-9%4) #结果3 公式法 -9-(-3)*4
运行结果:
2.赋值运算符从右到左
1)支持链式赋值
a=b=c=6
print(a,id(a))
print(b,id(b))
print(c,id(c))
运行结果 似乎建立了引用 他们的id(内存地址)相同
2)支持参数赋值
a=10
a+=10
print(a)
a-=3
print(a)
a*=2
print(a)
a/=3
print(a)
a//=3
print(a)
a%=2
print(a)
运行结果:
3)支持系列解包赋值
a,b,c=10,20,30
print(a,b,c)
运行结果
用途:
实现两个数交换
a=10,b=20
a,b=b,a
print(a,b)
运行结果
3. 比较运算符> < >= <= !=
== value 比较
is is not id比较
a=3
b=4
print(a>b)
print(a=b)
print(a<=b)
m=4
n=4
print(m==n)
print(m is n)
运行结果
当产生了10 所以后面的n也指向这片空间 所以id相同
#先照抄 后续会讲
list1=[10,20,30,40]
list2=[10,20,30,40]
print(list1 == list2)
print(list1 is list2)
运行结果
print(a is not b)
print(list1 is not list 2)
运行结果
4.布尔运算符and
#且 均为真才为真
a=1,b=2
print(a==1andb==2)
print(a==0andb==2)
print(a==1andb==0)
print(a==0andb==0)
运行结果
or
#或 均为假才未假
a=1
b=2
print(a==1 or b==2)
print(a==1 or b==0)
print(a==0 or b==1)
print(a==0 or b==0)
运行结果
not
a=True
b=False
print(not a)
print(not b)
运行结果
in
not in
代码如下:
str1='helloworld'
print('h' in str1)
print('k' in str1)
print('h' not in str1)
print('k' not in str1)
运行结果为:
5.位运算1.按位与 按位或
print(4&8)
#按位与 取二进制同为1时才为1
print(4|8)
#按位或 取二进制同为0时才为0
运行结果
2.按位左移或者右移相当于乘2除2
print(4<<1)
print(4>>1)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)