20.运算符_算术运算符
print(1+1) #加法运算
print(1-1) #减法运算
print(1*2) #乘法运算
print(4/5) #除法运算
print(10//4) #整除运算
print(10%4) #取余数运算
print(2**3) #2的3次方
#结果
2
0
2
0.8
2
2
8
print(9//4) #取整
print(9//-4) #一正一负往下取整
print(-9//-4) #负负得正
print(-9//4) #正负得负
print(10//-2)
print(10//-7)
#结果
2
-3
2
-3
-5
-2
print(10%-2)
print(10%-7)
#结果
0
-4
21.运算符_赋值运算符
= 1.执行顺序: 右→左
2.支持链式赋值(a=b=c=20)
3.支持参数赋值(+=、-+、*=、/+、//+、%=)
4.支持系列解包(a,b,c=20,30,40)
#赋值运算符,运算顺序从右到左
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/=3
print(a)
print(type(a)) # float
a//=2
print(a)
a%=3
print(a)
print('------解包赋值-----')
a,b,c=20,30,40 #左右变量的个数和值的个数应该对应
print(a,b,c)
print('----交换两个变量的值-----')
a,b=10,20
print('交换之前:',a,b)
#交换
a,b=b,a
print('交换之后:',a,b)
#结果
7
20 2655466750800
20 2655466750800
20 2655466750800
-------支持参数赋值---------
50
40
13.333333333333334
<class 'float'>
6.0
0.0
------解包赋值-----
20 30 40
----交换两个变量的值-----
交换之前: 10 20
交换之后: 20 10
22.运算符_比较运算符
a,b=10,20
print('a>b吗?',a>b) #False
print('a<b吗?',a<b) #True
print('a<=b吗?',a<=b) #True
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标识,相等
lst1=[11,22,33,44]
lst2=[11,22,33,44]
print(lst1==lst2) #value --->True
print(lst1 is lst2)#id---->False
print(id(lst1))
print(id(lst2))
print(a is not b)#False a的id与b的id是不相等的
print(lst1 is not lst2)#True
#结果
a>b吗? False
a<b吗? True
a<=b吗? True
a>=b吗? False
a==b吗? False
a!=b吗? True
True
True
True
False
2017631990400
2017631957056
False
True